static void CacheLine(WCHAR *lptr, char *xbuf) { if (inSymFile) { char *p = strchr(xbuf, '#'); if (p) return; } if ((incldepth == 0 && (!*lptr || *lptr == '#')) || inSymFile) { char *s = rcStrdup(xbuf); LIST *x = rcAlloc(sizeof(LIST)); x->data = s; if (inSymFile) { *hCachedLineTail = x; hCachedLineTail = &(*hCachedLineTail)->next; } else { *cachedLineTail = x; cachedLineTail = &(*cachedLineTail)->next; } } }
void gensymerror(int n, char *data) /* * errors come here if the error has a symbol name */ { char buf[100]; if (data) strcpy(buf, data); else buf[0] = 0; basicerror(n, (void*)rcStrdup(buf)); }
void PropSetIdName(struct resRes *data, char *buf, EXPRESSION **exp, CONTROL *ctls) { WCHAR name[512], *p = name; char xx[256],*q; int id = GetId(*exp); while (isspace(*buf)) buf ++; q = buf; if (!isalpha(*q) && *q != '_') return; while (*q) { if (!isalnum(*q) && (*q) != '_') return; q++; } ResGetHeap(workArea, data); ResSetDirty(data); if (!ctls) ResSetTreeName(data,buf); while (*buf) *p++ = *buf++; *p = 0; *exp = ReadExpFromString(name); if (!*exp) { *exp = rcAlloc(sizeof(EXPRESSION)); (*exp)->type = e_int; (*exp)->rendition = rcStrdup(name); SetId(data, *exp, id, ctls); } else { sprintf(xx, "%d", (*exp)->val); if (!strcmp(xx, (*exp)->rendition)) (*exp)->rendition = NULL; else SetId(data, *exp, id, ctls); } }
void gensymerrorexp(int n, char *data) { basicerror(n, (void*)rcStrdup(data)); }