Ruby
3.5.0dev (2025-01-10 revision 5fab31b15e32622c4b71d1d347a41937e9f9c212)
missing
strchr.c
1
/* public domain rewrite of strchr(3) and strrchr(3) */
2
3
#include "ruby/missing.h"
4
5
size_t
strlen(
const
char
*);
6
7
char
*
8
strchr(
const
char
*s,
int
c)
9
{
10
if
(c == 0)
return
(
char
*)s + strlen(s);
11
while
(*s) {
12
if
(*s == c)
13
return
(
char
*)s;
14
s++;
15
}
16
return
0;
17
}
18
19
char
*
20
strrchr(
const
char
*s,
int
c)
21
{
22
const
char
*save;
23
24
if
(c == 0)
return
(
char
*)s + strlen(s);
25
save = 0;
26
while
(*s) {
27
if
(*s == c)
28
save = s;
29
s++;
30
}
31
return
(
char
*)save;
32
}
Generated by
1.9.8