Ruby: missing/strchr.c Source File

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

strchr.c
Go to the documentation of this file.
1/* public domain rewrite of strchr(3) and strrchr(3) */
2
3#include "ruby/missing.h"
4
5 size_t strlen(const char*);
6
7char *
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
19char *
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}
missing.h
Prototype for *.c in ./missing, and for missing timeval struct.
strlen
size_t strlen(const char *)
strchr
char * strchr(const char *s, int c)
Definition: strchr.c:8
strrchr
char * strrchr(const char *s, int c)
Definition: strchr.c:20