{
symbol *sym = NULL ;
- /* first try & find a local variable for the
- given name */
- if ( applyToSet(symbols,symLocal,
+ if ((ctxt) && (ctxt->func) &&
+ (ctxt->func->sym) && (ctxt->func->sym->name)) {
+ /* first try & find a local variable for the given name */
+ if ( applyToSet(symbols,symLocal,
name,
ctxt->func->sym->name,
ctxt->block,
ctxt->level,
&sym))
- return sym;
+ return sym;
+ sym = NULL;
+ }
+
+ if ((ctxt) && (ctxt->func) &&
+ (ctxt->func->mod) && (ctxt->func->mod->name)) {
+ /* then try local to this module */
+ if (applyToSet(symbols,symLocal,
+ name,
+ ctxt->func->mod->name,
+ 0,0,&sym))
+ return sym;
+ sym = NULL;
+ }
- sym = NULL;
- /* then try local to this module */
- if (applyToSet(symbols,symLocal,
- name,
- ctxt->func->mod->name,
- 0,0,&sym))
- return sym;
- sym = NULL;
/* no:: try global */
if ( applyToSet(symbols,symGlobal,name,&sym))
- return sym;
+ return sym;
/* cannot find return null */
return NULL;
s++;
sscanf(s,"%x",&func->sym->eaddr);
-#ifdef SDCDB_DEBUG
- printf("%s(eaddr%x)\n",func->sym->name,func->sym->eaddr);
-#endif
+
+ Dprintf(D_symtab, ("%s(eaddr%x)\n",func->sym->name,func->sym->eaddr));
}
/*-----------------------------------------------------------------*/
s++;
sscanf(s,"%x",&sym->addr);
-#ifdef SDCDB_DEBUG
- printf("%s(%x)\n",sym->name,sym->addr);
-#endif
+
+ Dprintf(D_symtab, ("%s(%x)\n",sym->name,sym->addr));
}
/*-----------------------------------------------------------------*/
line--;
if (line < mod->nasmLines) {
mod->asmLines[line]->addr = addr;
-#ifdef SDCDB_DEBUG
- printf("%s(%d:%x) %s",mod->asm_name,line,addr,mod->asmLines[line]->src);
-#endif
+ Dprintf(D_symtab, ("%s(%d:%x) %s",mod->asm_name,line,addr,mod->asmLines[line]->src));
}
}
mod->cLines[line]->addr = addr;
mod->cLines[line]->block = block;
mod->cLines[line]->level = level;
-#ifdef SDCDB_DEBUG
- printf("%s(%d:%x) %s",mod->c_name,
- line+1,addr,mod->cLines[line]->src);
-#endif
+ Dprintf(D_symtab, ("%s(%d:%x) %s",mod->c_name,
+ line+1,addr,mod->cLines[line]->src));
}
return;