]> diplodocus.org Git - nmh/blobdiff - sbr/vfgets.c
mhlsbr.c: Don't strchr(3) non-string NUL-less buffer.
[nmh] / sbr / vfgets.c
index beb0afd0a43853249c588c0250951e67eb87b65b..d3946bc6872944261d7ae59cac57f070a766315a 100644 (file)
@@ -1,8 +1,4 @@
-
-/*
- * vfgets.c -- virtual fgets
- *
- * $Id$
+/* vfgets.c -- virtual fgets
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
@@ -32,7 +28,7 @@ vfgets (FILE *in, char **bp)
                *bp = pp;
                return 0;
            }
-           return (ferror (in) && !feof (in) ? -1 : 1);
+           return ferror(in) && !feof(in) ? -1 : 1;
        }
 
        if ((dp = cp + strlen (cp) - 2) < cp || *dp != QUOTE) {
@@ -42,15 +38,13 @@ wrong_guess:
            if (*dp == '\n') {
                *bp = pp;
                return 0;
-           } else {
-               cp = ++dp;
            }
+            cp = ++dp;
        } else {
            for (fp = dp - 1, toggle = 0; fp >= cp; fp--) {
                if (*fp != QUOTE)
                    break;
-               else
-                   toggle = !toggle;
+                toggle = !toggle;
            }
            if (toggle)
                goto wrong_guess;
@@ -66,12 +60,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;
        }
     }
 }