X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/92c3b05ef3e582d64b3cecfc261fdd66ef13a4ef..9291a5f82480f2458e04cb9ea7e6749bc952b308:/uip/picksbr.c diff --git a/uip/picksbr.c b/uip/picksbr.c index 54b50e70..aff2fea7 100644 --- a/uip/picksbr.c +++ b/uip/picksbr.c @@ -5,10 +5,14 @@ * complete copyright information. */ -#include -#include -#include -#include +#include "h/mh.h" +#include "sbr/fmt_rfc2047.h" +#include "sbr/brkstring.h" +#include "sbr/ambigsw.h" +#include "sbr/error.h" +#include "h/tws.h" +#include "h/picksbr.h" +#include "h/utils.h" #ifdef HAVE_SYS_TIME_H # include @@ -519,7 +523,10 @@ PRaction (struct nexus *n, int level) dasctime (&n->n_tws, TW_NULL)); return; } - fprintf(stderr, "UNKNOWN(%#llx)\n", (unsigned long long)n->n_action); + + generic_pointer gp; + gp.f = (void (*)(void))n->n_action; + fprintf(stderr, "UNKNOWN(%p)\n", gp.v); } @@ -641,21 +648,23 @@ cerror: ; static int GREPaction(struct nexus *n, FILE *fp, int msgnum, long start, long stop) { - int c, body, lf; + int c; + bool body; + bool lf; long pos = start; char *p1, *p2, *ebp, *cbp; char ibuf[BUFSIZ]; NMH_UNUSED (msgnum); fseek (fp, start, SEEK_SET); - body = 0; + body = false; ebp = cbp = ibuf; for (;;) { if (body && n->n_header) return 0; p1 = linebuf; p2 = cbp; - lf = 0; + lf = false; for (;;) { if (p2 >= ebp) { if (fgets (ibuf, sizeof ibuf, fp) == NULL @@ -674,16 +683,16 @@ GREPaction(struct nexus *n, FILE *fp, int msgnum, long start, long stop) --p2; break; } - lf = 0; + lf = false; } if (c == '\n') { if (body) break; if (lf) { - body++; + body = true; break; } - lf++; + lf = true; /* Unfold by skipping the newline. */ c = 0; } @@ -698,7 +707,7 @@ GREPaction(struct nexus *n, FILE *fp, int msgnum, long start, long stop) /* Attempt to decode as a MIME header. If it's the last header, body will be 1 and lf will be at least 1. */ - if ((body == 0 || lf > 0) && + if ((!body || lf) && decode_rfc2047 (linebuf, decoded_linebuf, sizeof decoded_linebuf)) { p1 = decoded_linebuf; } @@ -793,7 +802,7 @@ advance (char *alp, char *aep) do { lp--; if (advance ((char *) lp, (char *) ep)) - return (1); + return 1; } while (lp > curlp); return 0; @@ -812,14 +821,14 @@ cclass (unsigned char *aset, int ac, int af) set = aset; if ((c = ac) == 0) - return (0); + return 0; n = *set++; while (n--) if (*set++ == c || set[-1] == cc[c]) - return (af); + return af; - return (!af); + return !af; } @@ -955,7 +964,7 @@ TWSaction(struct nexus *n, FILE *fp, int msgnum, long start, long stop) return 0; default: - adios (NULL, "internal error -- you lose"); + die("internal error -- you lose"); } break; }