diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-03-06 08:17:54 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-03-06 08:17:54 +0000 |
commit | a36e0c78c90917c4d5cc78f67b3808913795f264 (patch) | |
tree | 81deaaa0cacb33bd81163aac0a358755c85df2cd /missing/strchr.c | |
parent | 4a7d313e4a263f5c2f2f42dd573fa612f0d0c0a7 (diff) |
* parse.y (primary): rescue and ensure clauses should be allowed
to appear in singleton method body.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'missing/strchr.c')
-rw-r--r-- | missing/strchr.c | 57 |
1 files changed, 21 insertions, 36 deletions
diff --git a/missing/strchr.c b/missing/strchr.c index 50714c9942..82f3cc96b0 100644 --- a/missing/strchr.c +++ b/missing/strchr.c @@ -1,45 +1,30 @@ -/* - * strchr --- search a string for a character - * - * We supply this routine for those systems that aren't standard yet. - */ - -#include <stdio.h> +/* public domain rewrite of strchr(3) and strrchr(3) */ char * -strchr(str, c) -register const char *str, c; +strchr(s, c) + char *s; + int c; { - if (c == '\0') { - /* thanks to Mike Brennan ... */ - do { - if (*str == c) - return (char *) str; - } while (*str++); - } else { - for (; *str; str++) - if (*str == c) - return (char *) str; - } - - return NULL; + if (c == 0) return s + strlen(s); + while (*s) { + if (*s == c) + return s; + s++; + } + return 0; } -/* - * strrchr --- find the last occurrence of a character in a string - * - * We supply this routine for those systems that aren't standard yet. - */ - char * -strrchr(str, c) -register const char *str, c; +strrchr(s, c) + char *s; + int c; { - register const char *save = NULL; - - for (; *str; str++) - if (*str == c) - save = str; + char *save = 0; - return (char *) save; + while (*s) { + if (*s == c) + save = s; + s++; + } + return save; } |