Rev 8793 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8793 | Rev 9765 | ||
---|---|---|---|
Line 1... | Line -... | ||
1 | /* strspn( const char *, const char * ) |
- | |
2 | - | ||
3 | This file is part of the Public Domain C Library (PDCLib). |
- | |
4 | Permission is granted to use, modify, and / or redistribute at will. |
1 | /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ |
5 | */ |
- | |
6 | - | ||
7 | #include |
2 | #include |
Line 8... | Line 3... | ||
8 | 3 | ||
9 | size_t strspn( const char * s1, const char * s2 ) |
4 | size_t strspn(const char* s1, const char* s2) |
10 | { |
- | |
11 | size_t len = 0; |
5 | { |
12 | const char * p; |
- | |
13 | - | ||
14 | while ( s1[ len ] ) |
- | |
15 | { |
6 | const char *p = s1, *spanp; |
16 | p = s2; |
- | |
17 | - | ||
18 | while ( *p ) |
- | |
19 | { |
- | |
20 | if ( s1[len] == *p ) |
- | |
21 | { |
- | |
22 | break; |
- | |
23 | } |
- | |
24 | - | ||
25 | ++p; |
- | |
26 | } |
- | |
27 | - | ||
28 | if ( ! *p ) |
- | |
29 | { |
- | |
30 | return len; |
- | |
31 | } |
- | |
32 | - | ||
33 | ++len; |
- | |
Line -... | Line 7... | ||
- | 7 | char c, sc; |
|
- | 8 | ||
- | 9 | cont: |
|
- | 10 | c = *p++; |
|
- | 11 | for (spanp = s2; (sc = *spanp++) != 0;) |
|
34 | } |
12 | if (sc == c) |
35 | 13 | goto cont; |
|
36 | return len; |
14 | return (p - 1 - s1); |