Annotation of researchv10no/cmd/worm/scsi/tcl/strspn.c, revision 1.1.1.1

1.1       root        1: /* 
                      2:  * strspn.c --
                      3:  *
                      4:  *     Source code for the "strspn" library routine.
                      5:  *
                      6:  * Copyright 1988 Regents of the University of California
                      7:  * Permission to use, copy, modify, and distribute this
                      8:  * software and its documentation for any purpose and without
                      9:  * fee is hereby granted, provided that the above copyright
                     10:  * notice appear in all copies.  The University of California
                     11:  * makes no representations about the suitability of this
                     12:  * software for any purpose.  It is provided "as is" without
                     13:  * express or implied warranty.
                     14:  */
                     15: 
                     16: #ifndef lint
                     17: static char rcsid[] = "$Header: /sprite/src/lib/c/string/RCS/strspn.c,v 1.2 89/03/22 16:07:53 rab Exp $ SPRITE (Berkeley)";
                     18: #endif /* not lint */
                     19: 
                     20: #include <string.h>
                     21: 
                     22: /*
                     23:  *----------------------------------------------------------------------
                     24:  *
                     25:  * strspn --
                     26:  *
                     27:  *     Compute the length of the maximum initial segment of "string"
                     28:  *     whose characters all are in "chars".
                     29:  *
                     30:  * Results:
                     31:  *     The return value is the length of the initial segment (0 if the
                     32:  *     first character isn't in "chars".
                     33:  *
                     34:  * Side effects:
                     35:  *     None.
                     36:  *
                     37:  *----------------------------------------------------------------------
                     38:  */
                     39: 
                     40: int
                     41: strspn(string, chars)
                     42:     char *string;                      /* String to search. */
                     43:     char *chars;                       /* Characters to look for in string. */
                     44: {
                     45:     register char c, *p, *s;
                     46: 
                     47:     for (s = string, c = *s; c != 0; s++, c = *s) {
                     48:        for (p = chars; *p != 0; p++) {
                     49:            if (c == *p) {
                     50:                goto next;
                     51:            }
                     52:        }
                     53:        break;
                     54:        next: ;
                     55:     }
                     56:     return s-string;
                     57: }

unix.superglobalmegacorp.com

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