Ruby  2.5.0dev(2017-10-22revision60238)
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 
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 }
size_t strlen(const char *)
char * strchr(const char *s, int c)
Definition: strchr.c:8
char * strrchr(const char *s, int c)
Definition: strchr.c:20