X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fstring%2Fstrcspn.c;h=01f10e59bf0ab2da253c5004fb087f7b0b134cfd;hb=2f57d79a5a24856fdea69b2119d67e5fb5029b3e;hp=0417d512c45093187c9358c04aadfda0e95ddeb7;hpb=c2f1367984ba4153d892062759c3813020b65a9a;p=pdclib diff --git a/functions/string/strcspn.c b/functions/string/strcspn.c index 0417d51..01f10e5 100644 --- a/functions/string/strcspn.c +++ b/functions/string/strcspn.c @@ -10,16 +10,16 @@ #include -size_t strcspn( const char * src_1, const char * src_2 ) +size_t strcspn( const char * s1, const char * s2 ) { size_t len = 0; - const char * src_p; - while ( src_1[len] != '\0' ) + const char * p; + while ( s1[len] ) { - src_p = src_2; - while ( *src_p != '\0' ) + p = s2; + while ( *p ) { - if ( src_1[len] == *src_p++ ) + if ( s1[len] == *p++ ) { return len; } @@ -28,3 +28,22 @@ size_t strcspn( const char * src_1, const char * src_2 ) } return len; } + +#ifdef TEST +#include <_PDCLIB_test.h> + +int main() +{ + BEGIN_TESTS; + TESTCASE( strcspn( abcde, "x" ) == 5 ); + TESTCASE( strcspn( abcde, "xyz" ) == 5 ); + TESTCASE( strcspn( abcde, "zyx" ) == 5 ); + TESTCASE( strcspn( abcdx, "x" ) == 4 ); + TESTCASE( strcspn( abcdx, "xyz" ) == 4 ); + TESTCASE( strcspn( abcdx, "zyx" ) == 4 ); + TESTCASE( strcspn( abcde, "a" ) == 0 ); + TESTCASE( strcspn( abcde, "abc" ) == 0 ); + TESTCASE( strcspn( abcde, "cba" ) == 0 ); + return TEST_RESULTS; +} +#endif