X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/81a21a9a97d8633f6d6231e31fdb6e328d0d3ff2..e0e0c1e0fce54f31e8b126d78a0b364208f7d36f:/sbr/mf.c diff --git a/sbr/mf.c b/sbr/mf.c index 9a2c6470..975e3964 100644 --- a/sbr/mf.c +++ b/sbr/mf.c @@ -2,8 +2,6 @@ /* * mf.c -- mail filter subroutines * - * $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. @@ -18,7 +16,6 @@ * static prototypes */ static char *getcpy (char *); -static char *add (char *, char *); static void compress (char *, char *); static int isat (char *); static int parse_address (void); @@ -49,20 +46,6 @@ getcpy (char *s) } -static char * -add (char *s1, char *s2) -{ - register char *p; - - if (!s2) - return getcpy (s1); - - p = mh_xmalloc ((size_t) (strlen (s1) + strlen (s2) + 2)); - sprintf (p, "%s%s", s2, s1); - free (s2); - return p; -} - int isfrom(char *string) { @@ -78,8 +61,10 @@ lequal (char *a, char *b) if (*b == 0) return FALSE; else { - char c1 = islower (*a) ? toupper (*a) : *a; - char c2 = islower (*b) ? toupper (*b) : *b; + char c1 = islower ((unsigned char) *a) ? + toupper ((unsigned char) *a) : *a; + char c2 = islower ((unsigned char) *b) ? + toupper ((unsigned char) *b) : *b; if (c1 != c2) return FALSE; } @@ -148,8 +133,8 @@ seekadrx (char *addrs) struct adrx * uucpadrx (char *addrs) { - register char *cp, *wp, *xp, *yp, *zp; - register struct adrx *adrxp = &adrxs1; + char *cp, *wp, *xp, *yp, *zp; + struct adrx *adrxp = &adrxs1; if (vp == NULL) { vp = tp = getcpy (addrs); @@ -162,7 +147,7 @@ uucpadrx (char *addrs) return NULL; } - for (cp = tp; isspace (*cp); cp++) + for (cp = tp; isspace ((unsigned char) *cp); cp++) continue; if (*cp == 0) { free (vp); @@ -173,11 +158,11 @@ uucpadrx (char *addrs) if ((wp = strchr(cp, ',')) == NULL) { if ((wp = strchr(cp, ' ')) != NULL) { xp = wp; - while (isspace (*xp)) + while (isspace ((unsigned char) *xp)) xp++; if (*xp != 0 && isat (--xp)) { yp = xp + 4; - while (isspace (*yp)) + while (isspace ((unsigned char) *yp)) yp++; if (*yp != 0) { if ((zp = strchr(yp, ' ')) != NULL) @@ -223,10 +208,10 @@ uucpadrx (char *addrs) static void compress (char *fp, char *tp) { - register char c, *cp; + char c, *cp; for (c = ' ', cp = tp; (*tp = *fp++) != 0;) - if (isspace (*tp)) { + if (isspace ((unsigned char) *tp)) { if (c != ' ') *tp++ = c = ' '; } @@ -431,10 +416,10 @@ getadrx (char *addrs) } break; } - while (isspace (*ap)) + while (isspace ((unsigned char) *ap)) ap++; if (cp) - sprintf (adr, "%.*s", cp - ap, ap); + sprintf (adr, "%.*s", (int)(cp - ap), ap); else strcpy (adr, ap); bp = adr + strlen (adr) - 1; @@ -774,7 +759,7 @@ my_lex (char *buffer) { /* buffer should be at least BUFSIZ bytes long */ int i, gotat = 0; - register char c, *bp; + char c, *bp; /* Add C to the buffer bp. After use of this macro *bp is guaranteed to be within the buffer. */ #define ADDCHR(C) do { *bp++ = (C); if ((bp - buffer) == (BUFSIZ-1)) goto my_lex_buffull; } while (0) @@ -786,7 +771,7 @@ my_lex (char *buffer) gotat = isat (cp); c = *cp++; - while (isspace (c)) + while (isspace ((unsigned char) c)) c = *cp++; if (c == 0) { cp = NULL; @@ -876,7 +861,7 @@ my_lex (char *buffer) if (c == special[i].lx_chr) return (last_lex = special[i].lx_val); - if (iscntrl (c)) + if (iscntrl ((unsigned char) c)) return (last_lex = LX_ERR); for (;;) { @@ -885,7 +870,7 @@ my_lex (char *buffer) for (i = 0; special[i].lx_chr != 0; i++) if (c == special[i].lx_chr) goto got_atom; - if (iscntrl (c) || isspace (c)) + if (iscntrl ((unsigned char) c) || isspace ((unsigned char) c)) break; ADDCHR(c); } @@ -975,13 +960,8 @@ mfgets (FILE *in, char **bp) break; } if (cp >= ep) { - if (!(dp = realloc (pp, (size_t) (len += BUFSIZ)))) { - free (pp); - pp = NULL; - return NOTOK; - } - else - cp += dp - pp, ep = (pp = cp) + len - 2; + dp = mh_xrealloc (pp, (size_t) (len += BUFSIZ)); + cp += dp - pp, ep = (pp = cp) + len - 2; } } }