diff options
Diffstat (limited to 'rushs/tinyprintf/my_strspn')
| -rw-r--r-- | rushs/tinyprintf/my_strspn/my_strspn.c | 26 | ||||
| -rw-r--r-- | rushs/tinyprintf/my_strspn/my_strspn.h | 8 |
2 files changed, 34 insertions, 0 deletions
diff --git a/rushs/tinyprintf/my_strspn/my_strspn.c b/rushs/tinyprintf/my_strspn/my_strspn.c new file mode 100644 index 0000000..18bba0f --- /dev/null +++ b/rushs/tinyprintf/my_strspn/my_strspn.c @@ -0,0 +1,26 @@ +#include "my_strspn.h" + +int is_in(char c, const char *accept) +{ + for (; *accept && *accept != c; accept++) + { + continue; + } + return *accept != '\0'; +} + +size_t my_strspn(const char *s, const char *accept) +{ + if (s == NULL || *s == '\0') + { + return 0; + } + + size_t res; + for (res = 0; *s && is_in(*s, accept) != 0; res++, s++) + { + continue; + } + + return res; +} diff --git a/rushs/tinyprintf/my_strspn/my_strspn.h b/rushs/tinyprintf/my_strspn/my_strspn.h new file mode 100644 index 0000000..f2d7759 --- /dev/null +++ b/rushs/tinyprintf/my_strspn/my_strspn.h @@ -0,0 +1,8 @@ +#ifndef MY_STRSPN_H +#define MY_STRSPN_H + +#include <stddef.h> + +size_t my_strspn(const char *s, const char *accept); + +#endif /* ! MY_STRSPN_H */ |
