Annotation of coherent/a/usr/src/misc/strcmpl.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Case insensative string compare.
                      3:  */
                      4: strcmpl(s1, s2)
                      5: register unsigned char *s1, *s2;
                      6: {
                      7:     register c, d;
                      8: 
                      9:     for (;;) {
                     10:        switch(c = *s1++ - (d = *s2++)) {
                     11:        case 0:
                     12:                if(!d)
                     13:                        break;
                     14:                continue;
                     15:        case ('A' - 'a'):
                     16:                if((d < 'a') || (d > 'z'))
                     17:                        break;
                     18:                continue;
                     19:        case ('a' - 'A'):
                     20:                if((d < 'A') || (d > 'Z'))
                     21:                        break;
                     22:                continue;
                     23:        }
                     24:        return(c);
                     25:     }
                     26: }
                     27: 
                     28: #ifdef TEST
                     29: #include "misc.h"
                     30: main()
                     31: {
                     32:     char s1[40], s2[40];
                     33: 
                     34:     for (;;) {
                     35:        ask(s1, "string1");
                     36:        ask(s2, "string2");
                     37:        printf("strcmpl(%s, %s) == %d\n", s1, s2, strcmpl(s1, s2));
                     38:     }
                     39: }
                     40: #endif

unix.superglobalmegacorp.com

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