]> diplodocus.org Git - nmh/blobdiff - sbr/vfgets.c
client.c: Move interface to own file.
[nmh] / sbr / vfgets.c
index beb0afd0a43853249c588c0250951e67eb87b65b..b9f5de20276d64d91d02a0006e408d90b005486c 100644 (file)
@@ -1,16 +1,14 @@
-
-/*
- * 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
  * complete copyright information.
  */
 
-#include <h/mh.h>
-#include <h/utils.h>
+#include "h/mh.h"
+#include "vfgets.h"
+#include "error.h"
+#include "h/utils.h"
 
 #define        QUOTE   '\\'
 
@@ -32,25 +30,23 @@ 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) {
 wrong_guess:
            if (cp > ++dp)
-               adios (NULL, "vfgets() botch -- you lose big");
+               die("vfgets() botch -- you lose big");
            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 +62,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;
        }
     }
 }