Annotation of 43BSDTahoe/usr.lib/sendmail/aux/matchhdr.c, revision 1.1.1.1

1.1       root        1: /*
                      2: **  Sendmail
                      3: **  Copyright (c) 1983  Eric P. Allman
                      4: **  Berkeley, California
                      5: **
                      6: **  Copyright (c) 1983 Regents of the University of California.
                      7: **  All rights reserved.  The Berkeley software License Agreement
                      8: **  specifies the terms and conditions for redistribution.
                      9: */
                     10: 
                     11: #ifndef lint
                     12: static char    SccsId[] = "@(#)matchhdr.c      5.1 (Berkeley) 6/7/85";
                     13: #endif not lint
                     14: 
                     15: # include <stdio.h>
                     16: # include <ctype.h>
                     17: # include "useful.h"
                     18: 
                     19: SCCSID(@(#)matchhdr.c  5.1             6/7/85);
                     20: 
                     21: /*
                     22: **  MATCHHDR -- Match header line
                     23: **
                     24: **     Matches a header line in arpanet format (case and white
                     25: **     space is ignored).
                     26: **
                     27: **     This routine is used by arpa-mailer and sendmail.
                     28: **
                     29: **     Parameters:
                     30: **             line -- the line to match against.
                     31: **             pat -- the pattern to match against; must be in
                     32: **                     lower case.
                     33: **
                     34: **     Returns:
                     35: **             address of the 'value' of the pattern (the beginning
                     36: **                     of the non-white string following the delim).
                     37: **             NULL if none found.
                     38: **
                     39: **     Side Effects:
                     40: **             none
                     41: **
                     42: **     Called By:
                     43: **             maketemp
                     44: **             sendmail [arpa.c]
                     45: **
                     46: **     Deficiencies:
                     47: **             It doesn't handle folded lines.
                     48: */
                     49: 
                     50: char *
                     51: matchhdr(line, pat)
                     52:        char *line;
                     53:        char *pat;
                     54: {
                     55:        register char *p;
                     56:        register char *q;
                     57: 
                     58:        for (q = pat, p = line; *q != '\0'; p++, q++)
                     59:                if (lowercase(*p) != *q)
                     60:                        return (NULL);
                     61:        while (isspace(*p))
                     62:                p++;
                     63:        if (*p != ':')
                     64:                return (NULL);
                     65:        while (isspace(*++p))
                     66:                continue;
                     67:        return (*p == '\0' ? NULL : p);
                     68: }
                     69: /*
                     70: **  LOWERCASE -- Convert a character to lower case
                     71: **
                     72: **     If the argument is an upper case letter, it is converted
                     73: **     to a lower case letter, otherwise it is passed through
                     74: **     unchanged.
                     75: **
                     76: **     Parameters:
                     77: **             c -- the character to check.
                     78: **
                     79: **     Returns:
                     80: **             c converted to lower case.
                     81: **
                     82: **     Side Effects:
                     83: **             none
                     84: **
                     85: **     Called By:
                     86: **             matchhdr
                     87: */
                     88: 
                     89: lowercase(c)
                     90:        register char c;
                     91: {
                     92:        if (isupper(c))
                     93:                c -= 'A' - 'a';
                     94:        return (c);
                     95: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.