projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Back out previous, completely broken, change (due to a foulup I was
[mmh]
/
uip
/
mhlsbr.c
diff --git
a/uip/mhlsbr.c
b/uip/mhlsbr.c
index
68d0835
..
acf21de
100644
(file)
--- a/
uip/mhlsbr.c
+++ b/
uip/mhlsbr.c
@@
-3,13
+3,18
@@
* mhlsbr.c -- main routines for nmh message lister
*
* $Id$
* 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 <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>
#include <setjmp.h>
#include <signal.h>
@@
-72,7
+77,7
@@
static struct swit mhlswitches[] = {
#define VERSIONSW 15
{ "version", 0 },
#define HELPSW 16
#define VERSIONSW 15
{ "version", 0 },
#define HELPSW 16
- { "help", 4 },
+ { "help", 0 },
#define FORW1SW 17
{ "forward", -7 }, /* interface from forw */
#define FORW2SW 18
#define FORW1SW 17
{ "forward", -7 }, /* interface from forw */
#define FORW2SW 18
@@
-225,7
+230,7
@@
static int wid;
static char *ovtxt;
static char *ovtxt;
-static char *onelp;
+static unsigned char *onelp;
static char *parptr;
static char *parptr;
@@
-476,6
+481,11
@@
mhl (int argc, char **argv)
vecp > 1 ? "s" : "");
}
vecp > 1 ? "s" : "");
}
+ fflush(stdout);
+ if(ferror(stdout)){
+ adios("output", "error writing");
+ }
+
if (clearflg > 0 && ontty == NOTTY)
clear_screen ();
if (clearflg > 0 && ontty == NOTTY)
clear_screen ();
@@
-553,7
+563,7
@@
mhl_format (char *file, int length, int width)
* Split this list of fields to ignore, and copy
* it to the end of the current "ignores" list.
*/
* 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;
char **tmparray, **p;
int n = 0;
@@
-657,17
+667,17
@@
evalvar (struct mcomp *c1)
return 0;
strncpy (name, parse(), sizeof(name));
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 (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);
return ptos (name, &c1->c_ovtxt);
- if (!strcasecmp (name, "formatfield")) {
+ if (!mh_strcasecmp (name, "formatfield")) {
char *nfs;
if (ptos (name, &cp))
char *nfs;
if (ptos (name, &cp))
@@
-678,7
+688,7
@@
evalvar (struct mcomp *c1)
return 0;
}
return 0;
}
- if (!strcasecmp (name, "decode")) {
+ if (!mh_strcasecmp (name, "decode")) {
char *nfs;
nfs = new_fs (NULL, NULL, "%(decode{text})");
char *nfs;
nfs = new_fs (NULL, NULL, "%(decode{text})");
@@
-687,21
+697,21
@@
evalvar (struct mcomp *c1)
return 0;
}
return 0;
}
- if (!strcasecmp (name, "offset"))
+ if (!mh_strcasecmp (name, "offset"))
return ptoi (name, &c1->c_offset);
return ptoi (name, &c1->c_offset);
- if (!strcasecmp (name, "overflowoffset"))
+ if (!mh_strcasecmp (name, "overflowoffset"))
return ptoi (name, &c1->c_ovoff);
return ptoi (name, &c1->c_ovoff);
- if (!strcasecmp (name, "width"))
+ if (!mh_strcasecmp (name, "width"))
return ptoi (name, &c1->c_width);
return ptoi (name, &c1->c_width);
- if (!strcasecmp (name, "compwidth"))
+ if (!mh_strcasecmp (name, "compwidth"))
return ptoi (name, &c1->c_cwidth);
return ptoi (name, &c1->c_cwidth);
- if (!strcasecmp (name, "length"))
+ if (!mh_strcasecmp (name, "length"))
return ptoi (name, &c1->c_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++)
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;
c1->c_flags |= ap->t_on;
c1->c_flags &= ~ap->t_off;
return 0;
@@
-894,7
+904,7
@@
mhlfile (FILE *fp, char *mname, int ofilen, int ofilec)
case FLD:
case FLDPLUS:
for (ip = ignores; *ip; ip++)
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;
while (state == FLDPLUS)
state = m_getfld (state, name, buf, sizeof(buf), fp);
break;
@@
-903,12
+913,12
@@
mhlfile (FILE *fp, char *mname, int ofilen, int ofilec)
continue;
for (c2 = fmthd; c2; c2 = c2->c_next)
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)
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;
c1->c_text =
mcomp_add (c1->c_flags, buf, c1->c_text);
break;
@@
-931,7
+941,7
@@
mhlfile (FILE *fp, char *mname, int ofilen, int ofilec)
putcomp (c1, c1, ONECOMP);
continue;
}
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 = concat ("(Message ", mname, ")\n",
NULL);
putcomp (c1, &holder, ONECOMP);
@@
-939,15
+949,14
@@
mhlfile (FILE *fp, char *mname, int ofilen, int ofilec)
holder.c_text = NULL;
continue;
}
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;
}
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);
strncpy (holder.c_text, buf, sizeof(buf));
while (state == BODY) {
putcomp (c1, &holder, BODYCOMP);
@@
-959,7
+968,7
@@
mhlfile (FILE *fp, char *mname, int ofilen, int ofilec)
continue;
}
for (c2 = msghd; c2; c2 = c2->c_next)
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;
putcomp (c1, c2, ONECOMP);
if (!(c1->c_flags & SPLIT))
break;
@@
-997,7
+1006,7
@@
mcomp_flags (char *name)
struct pair *ap;
for (ap = pairs; ap->p_name; ap++)
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;
return (ap->p_flags);
return 0;
@@
-1176,7
+1185,7
@@
static void
putcomp (struct mcomp *c1, struct mcomp *c2, int flag)
{
int count, cchdr;
putcomp (struct mcomp *c1, struct mcomp *c2, int flag)
{
int count, cchdr;
- char *cp;
+ unsigned char *cp;
cchdr = 0;
lm = 0;
cchdr = 0;
lm = 0;
@@
-1289,6
+1298,8
@@
putcomp (struct mcomp *c1, struct mcomp *c2, int flag)
if (term == '\n')
putstr ("\n");
}
if (term == '\n')
putstr ("\n");
}
+ if (flag == BODYCOMP && term == '\n')
+ c1->c_flags &= ~HDROUTPUT; /* Buffer ended on a newline */
}
}
@@
-1635,14
+1646,12
@@
doface (struct mcomp *c1)
if (cp) {
int j;
char *dp;
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 {
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;
}
memcpy(cp, buffer, i);
len = i;
}