X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhlsbr.c;h=04da52bb436296e54394fb82584ec72c9a145233;hp=e075322d6d4e238a2462cad4082e79c55d23d5ea;hb=d2f12554a254e814dcdafb3828fc0d9936154eef;hpb=e0c210b265a8d6500d1e391f853ecee8d9827165 diff --git a/uip/mhlsbr.c b/uip/mhlsbr.c index e075322..04da52b 100644 --- a/uip/mhlsbr.c +++ b/uip/mhlsbr.c @@ -3,13 +3,18 @@ * 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 #include #include #include -#include +#include +#include #include #include @@ -72,7 +77,7 @@ static struct swit mhlswitches[] = { #define VERSIONSW 15 { "version", 0 }, #define HELPSW 16 - { "help", 4 }, + { "help", 0 }, #define FORW1SW 17 { "forward", -7 }, /* interface from forw */ #define FORW2SW 18 @@ -476,6 +481,11 @@ mhl (int argc, char **argv) vecp > 1 ? "s" : ""); } + fflush(stdout); + if(ferror(stdout)){ + adios("output", "error writing"); + } + if (clearflg > 0 && ontty == NOTTY) clear_screen (); @@ -499,7 +509,7 @@ mhl_format (char *file, int length, int width) static ino_t ino = 0; static time_t mtime = 0; - if (fmthd != NULL) + if (fmthd != NULL) { if (stat (etcpath (file), &st) != NOTOK && mtime == st.st_mtime && dev == st.st_dev @@ -507,6 +517,7 @@ mhl_format (char *file, int length, int width) goto out; else free_queue (&fmthd, &fmttl); + } if ((fp = fopen (etcpath (file), "r")) == NULL) adios (file, "unable to open format file"); @@ -552,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. */ - if (!strcasecmp (name, "ignores")) { + if (!mh_strcasecmp (name, "ignores")) { char **tmparray, **p; int n = 0; @@ -585,7 +596,7 @@ mhl_format (char *file, int length, int width) if (evalvar (c1)) adios (NULL, "format file syntax error: %s", bp); } - if (!c1->c_nfs && global.c_nfs) + if (!c1->c_nfs && global.c_nfs) { if (c1->c_flags & DATEFMT) { if (global.c_flags & DATEFMT) c1->c_nfs = getcpy (global.c_nfs); @@ -595,6 +606,7 @@ mhl_format (char *file, int length, int width) if (global.c_flags & ADDRFMT) c1->c_nfs = getcpy (global.c_nfs); } + } continue; default: @@ -655,17 +667,17 @@ evalvar (struct mcomp *c1) 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)) @@ -676,7 +688,7 @@ evalvar (struct mcomp *c1) return 0; } - if (!strcasecmp (name, "decode")) { + if (!mh_strcasecmp (name, "decode")) { char *nfs; nfs = new_fs (NULL, NULL, "%(decode{text})"); @@ -685,21 +697,21 @@ evalvar (struct mcomp *c1) 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; @@ -892,7 +904,7 @@ mhlfile (FILE *fp, char *mname, int ofilen, int ofilec) 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; @@ -901,12 +913,12 @@ mhlfile (FILE *fp, char *mname, int ofilen, int ofilec) 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; @@ -929,7 +941,7 @@ mhlfile (FILE *fp, char *mname, int ofilen, int ofilec) 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); @@ -937,15 +949,14 @@ mhlfile (FILE *fp, char *mname, int ofilen, int ofilec) 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); @@ -957,7 +968,7 @@ mhlfile (FILE *fp, char *mname, int ofilen, int ofilec) 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; @@ -995,7 +1006,7 @@ mcomp_flags (char *name) 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; @@ -1263,13 +1274,14 @@ putcomp (struct mcomp *c1, struct mcomp *c2, int flag) *cp = toupper (*cp); count = 0; - if (cchdr) + if (cchdr) { if (flag == TWOCOMP) count = (c1->c_cwidth >= 0) ? c1->c_cwidth : strlen (c2->c_name) + 2; else count = (c1->c_cwidth >= 0) ? c1->c_cwidth : strlen (c1->c_text ? c1->c_text : c1->c_name) + 2; + } count += c1->c_offset; if ((cp = oneline (c2->c_text, c1->c_flags))) @@ -1344,7 +1356,7 @@ oneline (char *stuff, long flags) static void putstr (char *string) { - if (!column && lm > 0) + if (!column && lm > 0) { while (lm > 0) if (lm >= 8) { putch ('\t'); @@ -1354,6 +1366,7 @@ putstr (char *string) putch (' '); lm--; } + } lm = 0; while (*string) putch (*string++); @@ -1631,14 +1644,12 @@ doface (struct mcomp *c1) 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; }