proc_p p;
dblock_p d;
+ if (! name) return FALSE; /* HOL blocks don't have names */
for (p = fproc; p != endp; p = p->p_next) {
if (strcmp(name,pnames[p->p_id]) == 0) return TRUE;
}
for (d = fdblock; d != endd; d = d->d_next) {
- if (strcmp(name,dnames[d->d_id]) == 0) return TRUE;
+ if (dnames[d->d_id] != 0 && /* HOL blocks excluded */
+ strcmp(name,dnames[d->d_id]) == 0) return TRUE;
}
return FALSE;
}
STATIC outdsym(dbl)
dblock_p dbl;
{
- outsym(dnames[dbl->d_id],sp_dnam);
+ if (dnames[dbl->d_id]) outsym(dnames[dbl->d_id],sp_dnam);
}
dbl = obj->o_dblock;
if ((dbl->d_flags2 & DF_SYMOUT) == 0) {
dbl->d_flags2 |= DF_SYMOUT;
- if ((dbl->d_flags1 & DF_EXTERNAL) == 0) {
+ if (dnames[dbl->d_id] != 0 &&
+ (dbl->d_flags1 & DF_EXTERNAL) == 0) {
outinst(ps_ina);
outdsym(dbl);
}
* hol block; the offset is omitted if it is 0 and the label
* was not omitted.
*/
- if (dnames[obj->o_dblock->d_id][0] == '\0') {
+ if (dnames[obj->o_dblock->d_id] == 0) {
coutoff(obj->o_off);
} else {
if (obj->o_off == 0) {