Fix __FILE__, __TIME__ and __DATE__

If they don't have quotes when passed to sym_AddString() they can't be
used at all by the assembler. I suppose nobody actually used them, they
seem to have been broken forever.

Added a comment to the function to say how to use it correctly for
strings.

Signed-off-by: Antonio Niño Díaz <antonio_nd@outlook.com>
This commit is contained in:
Antonio Niño Díaz
2017-04-09 15:40:06 +01:00
parent 53fa608161
commit 23584a584f
2 changed files with 15 additions and 4 deletions

View File

@@ -495,7 +495,16 @@ sym_AddEqu(char *tzSym, SLONG value)
}
/*
* Add a string equated symbol
* Add a string equated symbol.
*
* If the desired symbol is a string it needs to be passed to this function with
* quotes inside the string, like sym_AddString("name", "\"test\"), or the
* assembler won't be able to use it with DB and similar. This is equivalent as
* ``` name EQUS "\"test\"" ```
*
* If the desired symbol is a register or a number, just the terminator quotes
* of the string are enough: sym_AddString("M_PI", "3.1415"). This is the same
* as ``` M_PI EQUS "3.1415" ```
*/
void
sym_AddString(char *tzSym, char *tzValue)
@@ -824,8 +833,8 @@ sym_Init(void)
struct tm *tptr;
tptr = localtime(&tod);
strftime(SavedTIME, sizeof(SavedTIME), "%H:%M:%S", tptr);
strftime(SavedDATE, sizeof(SavedDATE), "%d %B %Y", tptr);
strftime(SavedTIME, sizeof(SavedTIME), "\"%H:%M:%S\"", tptr);
strftime(SavedDATE, sizeof(SavedDATE), "\"%d %B %Y\"", tptr);
sym_AddString("__TIME__", SavedTIME);
sym_AddString("__DATE__", SavedDATE);
}