Lines Matching refs:dgs
3206 d_growable_string_init (struct d_growable_string *dgs, size_t estimate)
3208 dgs->buf = NULL;
3209 dgs->len = 0;
3210 dgs->alc = 0;
3211 dgs->allocation_failure = 0;
3214 d_growable_string_resize (dgs, estimate);
3220 d_growable_string_resize (struct d_growable_string *dgs, size_t need)
3225 if (dgs->allocation_failure)
3231 newalc = dgs->alc > 0 ? dgs->alc : 2;
3235 newbuf = (char *) realloc (dgs->buf, newalc);
3238 free (dgs->buf);
3239 dgs->buf = NULL;
3240 dgs->len = 0;
3241 dgs->alc = 0;
3242 dgs->allocation_failure = 1;
3245 dgs->buf = newbuf;
3246 dgs->alc = newalc;
3252 d_growable_string_append_buffer (struct d_growable_string *dgs,
3257 need = dgs->len + l + 1;
3258 if (need > dgs->alc)
3259 d_growable_string_resize (dgs, need);
3261 if (dgs->allocation_failure)
3264 memcpy (dgs->buf + dgs->len, s, l);
3265 dgs->buf[dgs->len + l] = '\0';
3266 dgs->len += l;
3274 struct d_growable_string *dgs = (struct d_growable_string*) opaque;
3276 d_growable_string_append_buffer (dgs, s, l);
3403 struct d_growable_string dgs;
3405 d_growable_string_init (&dgs, estimate);
3409 &dgs))
3411 free (dgs.buf);
3416 *palc = dgs.allocation_failure ? 1 : dgs.alc;
3417 return dgs.buf;
4861 struct d_growable_string dgs;
4864 d_growable_string_init (&dgs, 0);
4867 d_growable_string_callback_adapter, &dgs);
4870 free (dgs.buf);
4875 *palc = dgs.allocation_failure ? 1 : dgs.alc;
4876 return dgs.buf;