/* Save number in charstring. */ static void cstr_savenum(cstrCtx h, float r) { long i; unsigned char *t; if (h->cstr.cnt + 4 >= h->cstr.size) { /* Grow buffer to accomodate maximum number length */ if (dnaGrow(&h->cstr, 1, h->cstr.cnt + 4)) { h->g->err.code = cfwErrNoMemory; return; } } t = (unsigned char *)&h->cstr.array[h->cstr.cnt]; i = (long)r; h->cstr.cnt += ((i == r) ? cfwEncInt(i, t) : cfwEncReal(r, t)); }
/* Save integer number arg in DICT. */ void cfwDictSaveInt(DICT *dict, long i) { char *arg = dnaEXTEND(*dict, 5); dict->cnt -= 5 - cfwEncInt(i, (unsigned char *)arg); }