| /* |
| FUNCTION |
| <<strspn>>---find initial match |
| |
| INDEX |
| strspn |
| |
| ANSI_SYNOPSIS |
| #include <string.h> |
| size_t strspn(const char *<[s1]>, const char *<[s2]>); |
| |
| TRAD_SYNOPSIS |
| #include <string.h> |
| size_t strspn(<[s1]>, <[s2]>) |
| char *<[s1]>; |
| char *<[s2]>; |
| |
| DESCRIPTION |
| This function computes the length of the initial segment of |
| the string pointed to by <[s1]> which consists entirely of |
| characters from the string pointed to by <[s2]> (excluding the |
| terminating null character). |
| |
| RETURNS |
| <<strspn>> returns the length of the segment found. |
| |
| PORTABILITY |
| <<strspn>> is ANSI C. |
| |
| <<strspn>> requires no supporting OS subroutines. |
| |
| QUICKREF |
| strspn ansi pure |
| */ |
| |
| #include <string.h> |
| |
| size_t |
| _DEFUN (strspn, (s1, s2), |
| _CONST char *s1 _AND |
| _CONST char *s2) |
| { |
| _CONST char *s = s1; |
| _CONST char *c; |
| |
| while (*s1) |
| { |
| for (c = s2; *c; c++) |
| { |
| if (*s1 == *c) |
| break; |
| } |
| if (*c == '\0') |
| break; |
| s1++; |
| } |
| |
| return s1 - s; |
| } |