X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fvfgets.c;h=1ddd99b9b55f3c1d54615bafb7617297554550d0;hp=bd01a2c798fb2b03f50826c2650757796d8ce6bc;hb=ee8d01d64e8832304256de53db07228e2be67f6a;hpb=714b5c530ece27ea2835a313013f5b770163403c diff --git a/sbr/vfgets.c b/sbr/vfgets.c index bd01a2c..1ddd99b 100644 --- a/sbr/vfgets.c +++ b/sbr/vfgets.c @@ -6,6 +6,7 @@ ** complete copyright information. */ +#include #include #include @@ -21,7 +22,7 @@ vfgets(FILE *in, char **bp) static char *pp = NULL; if (pp == NULL) - pp = mh_xmalloc((size_t) (len = BUFSIZ)); + pp = mh_xcalloc(len = BUFSIZ, sizeof(char)); for (ep = (cp = pp) + len - 1;;) { if (fgets(cp, ep - cp + 1, in) == NULL) { @@ -35,7 +36,7 @@ vfgets(FILE *in, char **bp) if ((dp = cp + strlen(cp) - 2) < cp || *dp != QUOTE) { wrong_guess: if (cp > ++dp) - adios(NULL, "vfgets() botch -- you lose big"); + adios(EX_SOFTWARE, NULL, "vfgets() botch -- you lose big"); if (*dp == '\n') { *bp = pp; return 0; @@ -63,7 +64,7 @@ wrong_guess: if (cp >= ep) { int curlen = cp - pp; - dp = mh_xrealloc(pp, (size_t) (len += BUFSIZ)); + dp = mh_xrealloc(pp, len += BUFSIZ); cp = dp + curlen; ep = (pp = dp) + len - 1; }