static bool_t resizeText(GWidgetObject* gw, size_t pos, int32_t diff) { char *p, *q; size_t sz; p = (char *)gw->text; sz = strlen(p)+1; if (diff < 0) memcpy(p+pos, p+pos-diff, sz-pos+diff); if (!(p = gfxRealloc(p, sz, sz+diff))) return FALSE; gw->text = p; if (diff > 0) { q = p + sz; p += pos; while(--q >= p) q[diff] = q[0]; } return TRUE; }
void *I_Realloc(void *p, int nsize) { return gfxRealloc(p, 0 /* Oops - we don't know this */, nsize); }