1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/missing/strchr.c

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

33 lines
487 B
C
Raw Permalink Normal View History

/* 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;
}