Incorporated variable length identifiers.
Courtesy Johan Stevenson
This commit is contained in:
@@ -37,6 +37,7 @@ unsigned hash(string) char *string; {
|
||||
|
||||
sym_p symlookup(name,status,flags) char *name; int status,flags; {
|
||||
register sym_p *spp,sp;
|
||||
register i;
|
||||
static short genfrag = 32767;
|
||||
|
||||
spp = &symhash[hash(name)%NSYMHASH];
|
||||
@@ -58,8 +59,13 @@ sym_p symlookup(name,status,flags) char *name; int status,flags; {
|
||||
* symbol not found, enter in table
|
||||
*/
|
||||
|
||||
*spp = sp = newsym();
|
||||
strncpy(sp->s_name,name,IDL);
|
||||
i = strlen(name) + 1;
|
||||
if (i & 1)
|
||||
i++;
|
||||
if (i > IDL)
|
||||
i = IDL;
|
||||
*spp = sp = newsym(i);
|
||||
strncpy(sp->s_name,name,i);
|
||||
sp->s_flags = flags;
|
||||
if (status == DEFINING)
|
||||
sp->s_flags |= SYMDEF;
|
||||
|
||||
Reference in New Issue
Block a user