* MemArea -(by [[K]], 2019.03.06) ** (0) -名称を「ポインタ&サイズ」の略でpsにすると、たまに使うポインタスロットにかぶってしまうので、略称がmaになるMemAreaにしてみた。 ** (1) typedef struct Kma_ { char *p; int s, i, m, u; } Kma; void kma_0(Kma *ma, int m) { ma->p = malloc(m); if (ma->p == 0) kerr("kma_0: out of memory"); ma->s = m; ma->i = 0; ma->m = m; ma->u = 64 * 1024; } void kma_t(Kma *ma) { if (ma->i + ma->m >= ma->s) { ma->p = realloc(ma->p, ma->s + ma->u); if (ma->p == 0) kerr("kma_t: out of memory"); ma->s += ma->u; } }