Exemple #1
0
/* 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));
}
Exemple #2
0
/* 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);
}