X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fvfgets.c;h=c6a39ea6df610d3e52a6f8ed8cf32949f7ce2e1f;hp=39cfaa276de7e5291b6dfe6813f484bfc80956cb;hb=1bb1f6c3f38b05060bf699ea2743f7386889bf63;hpb=6c42153ad9362cc676ea66563bf400d7511b3b68 diff --git a/sbr/vfgets.c b/sbr/vfgets.c index 39cfaa2..c6a39ea 100644 --- a/sbr/vfgets.c +++ b/sbr/vfgets.c @@ -10,6 +10,7 @@ */ #include +#include #define QUOTE '\\' @@ -23,8 +24,7 @@ vfgets (FILE *in, char **bp) static char *pp = NULL; if (pp == NULL) - if (!(pp = malloc ((size_t) (len = BUFSIZ)))) - adios (NULL, "unable to allocate string storage"); + pp = mh_xmalloc ((size_t) (len = BUFSIZ)); for (ep = (cp = pp) + len - 1;;) { if (fgets (cp, ep - cp + 1, in) == NULL) { @@ -66,12 +66,9 @@ wrong_guess: if (cp >= ep) { int curlen = cp - pp; - if (!(dp = realloc (pp, (size_t) (len += BUFSIZ)))) { - adios (NULL, "unable to allocate string storage"); - } else { - cp = dp + curlen; - ep = (pp = dp) + len - 1; - } + dp = mh_xrealloc (pp, (size_t) (len += BUFSIZ)); + cp = dp + curlen; + ep = (pp = dp) + len - 1; } } }