StrItem *t, *p; unsigned int h = hashStr(s); if ((t = strTbl[h]) != 0) { p = t; do { if (PL_strcasecmp(t->s,s) == 0) { t->refCnt--; if (t->refCnt == 0) { if (p == strTbl[h]) { strTbl[h] = t->next; } else { p->next = t->next; } deleteString((char *)t->s); deleteStrItem(t); return; } } p = t; t = t->next; } while (t); }
StrItem *t, *p; unsigned int h = hashStr(s); if ((t = strTbl[h]) != 0) { p = t; do { if (PL_strcasecmp(t->s,s) == 0) { t->refCnt--; if (t->refCnt == 0) { if (t == strTbl[h]) { strTbl[h] = t->next; } else { p->next = t->next; } deleteString((char *)t->s); deleteStrItem(t); return; } } p = t; t = t->next; } while (t); }
void unUseStr(const char *s){    StrItem *t, *p;    unsigned int h = hashStr(s);    if ((t = strTbl[h]) != 0) {	p = t;	do {	    if (PL_strcasecmp(t->s,s) == 0) {		t->refCnt--;		if (t->refCnt == 0) {		    if (p == strTbl[h]) {			strTbl[h] = t->next;			}		    else {			p->next = t->next;			}		    deleteString((char *)t->s);		    deleteStrItem(t);		    return;		    }		}	    p = t;	    t = t->next;	    } while (t);	}}