Annotation of coherent/a/tmp/smail/str.c, revision 1.1

1.1     ! root        1: #ifndef lint
        !             2: static char    *sccsid="@(#)str.c      2.5 (smail) 9/15/87";
        !             3: #endif
        !             4: 
        !             5: #include "defs.h"
        !             6: #include <ctype.h>
        !             7: 
        !             8: /*
        !             9: **     strncmpic: string compare, ignore case, stop after 'n' chars
        !            10: */
        !            11: 
        !            12: strncmpic(s1, s2, n)
        !            13: char *s1, *s2;
        !            14: int n;
        !            15: {
        !            16:        register char *u = s1;
        !            17:        register char *p = s2;
        !            18: 
        !            19:        while((n > 0) && (*p != '\0')) {
        !            20:                /* chars match or only case different */
        !            21:                if(lower(*u) == lower(*p)) {
        !            22:                        p++;    /* examine next char */
        !            23:                        u++;
        !            24:                } else {
        !            25:                        break;  /* no match - stop comparison */
        !            26:                }
        !            27:                n--;
        !            28:        }
        !            29:        if(n > 0) {
        !            30:                return(lower(*u) - lower(*p)); /* return "difference" */
        !            31:        } else {
        !            32:                return(0);
        !            33:        }
        !            34: }
        !            35: 
        !            36: /*
        !            37: **     strcmpic: string compare, ignore case
        !            38: */
        !            39: 
        !            40: strcmpic(s1, s2)
        !            41: char *s1, *s2;
        !            42: {
        !            43:        register char *u = s1;
        !            44:        register char *p = s2;
        !            45: 
        !            46:        while(*p != '\0') {
        !            47:                /* chars match or only case different */
        !            48:                if(lower(*u) == lower(*p)) {
        !            49:                        p++;    /* examine next char */
        !            50:                        u++;
        !            51:                } else {
        !            52:                        break;  /* no match - stop comparison */
        !            53:                }
        !            54:        }
        !            55: 
        !            56:        return(lower(*u) - lower(*p)); /* return "difference" */
        !            57: }
        !            58: 

unix.superglobalmegacorp.com

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