* mhlsbr.c -- main routines for nmh message lister
*
* $Id$
+ *
+ * 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/signals.h>
#include <h/addrsbr.h>
#include <h/fmt_scan.h>
-#include <zotnet/tws/tws.h>
+#include <h/tws.h>
+#include <h/utils.h>
#include <setjmp.h>
#include <signal.h>
vecp > 1 ? "s" : "");
}
+ fflush(stdout);
+ if(ferror(stdout)){
+ adios("output", "error writing");
+ }
+
if (clearflg > 0 && ontty == NOTTY)
clear_screen ();
* Split this list of fields to ignore, and copy
* it to the end of the current "ignores" list.
*/
- if (!strcasecmp (name, "ignores")) {
+ if (!mh_strcasecmp (name, "ignores")) {
char **tmparray, **p;
int n = 0;
return 0;
strncpy (name, parse(), sizeof(name));
- if (!strcasecmp (name, "component")) {
+ if (!mh_strcasecmp (name, "component")) {
if (ptos (name, &c1->c_text))
return 1;
c1->c_flags &= ~NOCOMPONENT;
return 0;
}
- if (!strcasecmp (name, "overflowtext"))
+ if (!mh_strcasecmp (name, "overflowtext"))
return ptos (name, &c1->c_ovtxt);
- if (!strcasecmp (name, "formatfield")) {
+ if (!mh_strcasecmp (name, "formatfield")) {
char *nfs;
if (ptos (name, &cp))
return 0;
}
- if (!strcasecmp (name, "decode")) {
+ if (!mh_strcasecmp (name, "decode")) {
char *nfs;
nfs = new_fs (NULL, NULL, "%(decode{text})");
return 0;
}
- if (!strcasecmp (name, "offset"))
+ if (!mh_strcasecmp (name, "offset"))
return ptoi (name, &c1->c_offset);
- if (!strcasecmp (name, "overflowoffset"))
+ if (!mh_strcasecmp (name, "overflowoffset"))
return ptoi (name, &c1->c_ovoff);
- if (!strcasecmp (name, "width"))
+ if (!mh_strcasecmp (name, "width"))
return ptoi (name, &c1->c_width);
- if (!strcasecmp (name, "compwidth"))
+ if (!mh_strcasecmp (name, "compwidth"))
return ptoi (name, &c1->c_cwidth);
- if (!strcasecmp (name, "length"))
+ if (!mh_strcasecmp (name, "length"))
return ptoi (name, &c1->c_length);
- if (!strcasecmp (name, "nodashstuffing"))
+ if (!mh_strcasecmp (name, "nodashstuffing"))
return (dashstuff = -1);
for (ap = triples; ap->t_name; ap++)
- if (!strcasecmp (ap->t_name, name)) {
+ if (!mh_strcasecmp (ap->t_name, name)) {
c1->c_flags |= ap->t_on;
c1->c_flags &= ~ap->t_off;
return 0;
case FLD:
case FLDPLUS:
for (ip = ignores; *ip; ip++)
- if (!strcasecmp (name, *ip)) {
+ if (!mh_strcasecmp (name, *ip)) {
while (state == FLDPLUS)
state = m_getfld (state, name, buf, sizeof(buf), fp);
break;
continue;
for (c2 = fmthd; c2; c2 = c2->c_next)
- if (!strcasecmp (c2->c_name, name))
+ if (!mh_strcasecmp (c2->c_name, name))
break;
c1 = NULL;
if (!((c3 = c2 ? c2 : &global)->c_flags & SPLIT))
for (c1 = msghd; c1; c1 = c1->c_next)
- if (!strcasecmp (c1->c_name, c3->c_name)) {
+ if (!mh_strcasecmp (c1->c_name, c3->c_name)) {
c1->c_text =
mcomp_add (c1->c_flags, buf, c1->c_text);
break;
putcomp (c1, c1, ONECOMP);
continue;
}
- if (!strcasecmp (c1->c_name, "messagename")) {
+ if (!mh_strcasecmp (c1->c_name, "messagename")) {
holder.c_text = concat ("(Message ", mname, ")\n",
NULL);
putcomp (c1, &holder, ONECOMP);
holder.c_text = NULL;
continue;
}
- if (!strcasecmp (c1->c_name, "extras")) {
+ if (!mh_strcasecmp (c1->c_name, "extras")) {
for (c2 = msghd; c2; c2 = c2->c_next)
if (c2->c_flags & EXTRA)
putcomp (c1, c2, TWOCOMP);
continue;
}
- if (dobody && !strcasecmp (c1->c_name, "body")) {
- if ((holder.c_text = malloc (sizeof(buf))) == NULL)
- adios (NULL, "unable to allocate buffer memory");
+ if (dobody && !mh_strcasecmp (c1->c_name, "body")) {
+ holder.c_text = mh_xmalloc (sizeof(buf));
strncpy (holder.c_text, buf, sizeof(buf));
while (state == BODY) {
putcomp (c1, &holder, BODYCOMP);
continue;
}
for (c2 = msghd; c2; c2 = c2->c_next)
- if (!strcasecmp (c2->c_name, c1->c_name)) {
+ if (!mh_strcasecmp (c2->c_name, c1->c_name)) {
putcomp (c1, c2, ONECOMP);
if (!(c1->c_flags & SPLIT))
break;
struct pair *ap;
for (ap = pairs; ap->p_name; ap++)
- if (!strcasecmp (ap->p_name, name))
+ if (!mh_strcasecmp (ap->p_name, name))
return (ap->p_flags);
return 0;
if (cp) {
int j;
char *dp;
- if ((dp = realloc (cp, (unsigned) (j = len + i))) == NULL)
- adios (NULL, "unable to allocate face storage");
+ dp = mh_xrealloc (cp, (unsigned) (j = len + i));
memcpy(dp + len, buffer, i);
cp = dp, len = j;
}
else {
- if ((cp = malloc ((unsigned) i)) == NULL)
- adios (NULL, "unable to allocate face storage");
+ cp = mh_xmalloc ((unsigned) i);
memcpy(cp, buffer, i);
len = i;
}