Annotation of coherent/b/lib/libc/string/strstr.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * strstr.c
                      3:  * ANSI 4.11.5.7.
                      4:  * Search string for string.
                      5:  */
                      6: 
                      7: #include <string.h>
                      8: 
                      9: char *strstr(s1, s2) char *s1; char *s2;
                     10: {
                     11:        register char *cp1, *cp2;
                     12:        register char c2;
                     13: 
                     14:        if (*s2 == '\0')
                     15:                return(s1);
                     16:        for ( ; *s1; s1++) {
                     17:                cp1 = s1;
                     18:                cp2 = s2;
                     19:                while ((c2 = *cp2++) && *cp1++ == c2)
                     20:                        ;
                     21:                if (c2 == '\0')
                     22:                        return(s1);             /* match */
                     23:                else if (*--cp1 == '\0')
                     24:                        return(NULL);           /* end of s1, failed */
                     25:        }
                     26:        return (NULL);                          /* failed */
                     27: }

unix.superglobalmegacorp.com

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