2.7.0.36 Fixed: empty command was re-triggering previous command. Example: DW 6062, // test
This commit is contained in:
parent
3a0d2697e4
commit
cf7de38720
3 changed files with 25 additions and 12 deletions
|
@ -2,6 +2,7 @@
|
||||||
2.8.0.0 Released with AppleWin 1.25
|
2.8.0.0 Released with AppleWin 1.25
|
||||||
|
|
||||||
2.7.0.#
|
2.7.0.#
|
||||||
|
.36 Fixed: empty command was re-triggering previous command. Example: DW 6062, // test
|
||||||
.35 Added: DW address -- round the length up to even number for convenience. Example: DW 6062 is equivalent to: DW 6062:6063
|
.35 Added: DW address -- round the length up to even number for convenience. Example: DW 6062 is equivalent to: DW 6062:6063
|
||||||
.34 Fixed: Unified auto-defined name: B_, W_, T_ for byte, word, or text respectively
|
.34 Fixed: Unified auto-defined name: B_, W_, T_ for byte, word, or text respectively
|
||||||
.33 Fixed: ASC range -- auto-define symbol name: T_####
|
.33 Fixed: ASC range -- auto-define symbol name: T_####
|
||||||
|
|
|
@ -6999,7 +6999,6 @@ Update_t ExecuteCommand (int nArgs)
|
||||||
int nFound = FindCommand( pCommand, pFunction );
|
int nFound = FindCommand( pCommand, pFunction );
|
||||||
|
|
||||||
// int nCookMask = (1 << NUM_TOKENS) - 1; // ArgToken_e used as bit mask!
|
// int nCookMask = (1 << NUM_TOKENS) - 1; // ArgToken_e used as bit mask!
|
||||||
|
|
||||||
|
|
||||||
// BUGFIX: commands that are also valid hex addresses
|
// BUGFIX: commands that are also valid hex addresses
|
||||||
// ####:# [#]
|
// ####:# [#]
|
||||||
|
@ -7008,6 +7007,8 @@ Update_t ExecuteCommand (int nArgs)
|
||||||
|
|
||||||
if ((! nFound) || (nLen < 6))
|
if ((! nFound) || (nLen < 6))
|
||||||
{
|
{
|
||||||
|
// 2.7.0.36 Fixed: empty command was re-triggering previous command. Example: DW 6062, // test
|
||||||
|
if ( nLen > 0 )
|
||||||
{
|
{
|
||||||
// verify pCommand[ 0 .. (nLen-1) ] are hex digits
|
// verify pCommand[ 0 .. (nLen-1) ] are hex digits
|
||||||
bool bIsHex = true;
|
bool bIsHex = true;
|
||||||
|
@ -7175,6 +7176,8 @@ Update_t ExecuteCommand (int nArgs)
|
||||||
// addr1 [addr2] -> display byte at address
|
// addr1 [addr2] -> display byte at address
|
||||||
// MDB memory display byte (is deprecated, so can be re-used)
|
// MDB memory display byte (is deprecated, so can be re-used)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return UPDATE_CONSOLE_DISPLAY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -168,24 +168,33 @@ int _Args_Insert( int iSrc, int iEnd, int nLen )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void ClearArg( Arg_t *pArg )
|
||||||
|
{
|
||||||
|
pArg->sArg[0] = 0;
|
||||||
|
pArg->nArgLen = 0;
|
||||||
|
pArg->bSymbol = false;
|
||||||
|
pArg->eDevice = NUM_DEVICES; // none
|
||||||
|
pArg->eToken = NO_TOKEN ; // none
|
||||||
|
pArg->bType = TYPE_STRING;
|
||||||
|
pArg->nValue = 0;
|
||||||
|
#if DEBUG_VAL_2
|
||||||
|
pArg->nVal2 = 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
void ArgsClear ()
|
void ArgsClear ()
|
||||||
{
|
{
|
||||||
Arg_t *pArg = &g_aArgs[0];
|
Arg_t *pArg = &g_aArgs[0];
|
||||||
|
Arg_t *pRaw = &g_aArgRaw[0];
|
||||||
|
|
||||||
for (int iArg = 0; iArg < MAX_ARGS; iArg++ )
|
for (int iArg = 0; iArg < MAX_ARGS; iArg++ )
|
||||||
{
|
{
|
||||||
pArg->bSymbol = false;
|
ClearArg( pArg );
|
||||||
pArg->eDevice = NUM_DEVICES; // none
|
ClearArg( pRaw );
|
||||||
pArg->eToken = NO_TOKEN ; // none
|
|
||||||
pArg->bType = TYPE_STRING;
|
|
||||||
pArg->nValue = 0;
|
|
||||||
#if DEBUG_VAL_2
|
|
||||||
pArg->nVal2 = 0;
|
|
||||||
#endif
|
|
||||||
pArg->sArg[0] = 0;
|
|
||||||
|
|
||||||
pArg++;
|
pArg++;
|
||||||
|
pRaw++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -219,7 +228,7 @@ bool ArgsGetImmediateValue ( Arg_t *pArg, WORD * pAddressValue_ )
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Processes the raw args, turning them into tokens and types.
|
// Read console input, process the raw args, turning them into tokens and types.
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
int ArgsGet ( TCHAR * pInput )
|
int ArgsGet ( TCHAR * pInput )
|
||||||
{
|
{
|
||||||
|
@ -262,7 +271,7 @@ int ArgsGet ( TCHAR * pInput )
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iTokenSrc == TOKEN_COMMENT_EOL)
|
if (iTokenSrc == TOKEN_COMMENT_EOL)
|
||||||
break;
|
break; //pArg->eToken = iTokenSrc;
|
||||||
|
|
||||||
if (iTokenSrc == NO_TOKEN)
|
if (iTokenSrc == NO_TOKEN)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue