diff options
Diffstat (limited to 'jni/ruby/missing/strchr.c')
-rw-r--r-- | jni/ruby/missing/strchr.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/jni/ruby/missing/strchr.c b/jni/ruby/missing/strchr.c new file mode 100644 index 0000000..465f07b --- /dev/null +++ b/jni/ruby/missing/strchr.c @@ -0,0 +1,32 @@ +/* public domain rewrite of strchr(3) and strrchr(3) */ + +#include "ruby/missing.h" + +size_t strlen(const char*); + +char * +strchr(const char *s, int c) +{ + if (c == 0) return (char *)s + strlen(s); + while (*s) { + if (*s == c) + return (char *)s; + s++; + } + return 0; +} + +char * +strrchr(const char *s, int c) +{ + const char *save; + + if (c == 0) return (char *)s + strlen(s); + save = 0; + while (*s) { + if (*s == c) + save = s; + s++; + } + return (char *)save; +} |