-
-/*
- * 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 '\\'
*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;
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;
}
}
}