-
-/*
- * fmt_new.c -- read format file/string and normalize
- *
- * $Id$
+/* fmt_new.c -- read format file/string and normalize
*
* This code is Copyright (c) 2002, by the authors of nmh. See the
* COPYRIGHT file in the root directory of the nmh distribution for
*/
#include <h/mh.h>
+#include <h/utils.h>
#define QUOTE '\\'
new_fs (char *form, char *format, char *default_fs)
{
struct stat st;
- register FILE *fp;
+ FILE *fp;
- if (formats)
- free (formats);
+ free(formats);
if (form) {
if ((fp = fopen (etcpath (form), "r")) == NULL)
if (fstat (fileno (fp), &st) == -1)
adios (form, "unable to stat format file");
- if (!(formats = malloc ((size_t) st.st_size + 1)))
- adios (form, "unable to allocate space for format");
+ formats = mh_xmalloc ((size_t) st.st_size + 1);
if (read (fileno(fp), formats, (int) st.st_size) != st.st_size)
adios (form, "error reading format file");
}
+void
+free_fs(void) {
+ free (formats);
+ formats = 0;
+}
+
+
/*
* Expand escapes in format strings
*/
break;
case 0:
- cp--; /* fall */
+ cp--;
+ /* FALLTHRU */
default:
*dp++ = *cp;
break;