summaryrefslogtreecommitdiff
path: root/src/libstddjb/byte_chr.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2015-04-08 12:28:47 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2015-04-08 12:28:47 +0000
commit73ebb5709dc2a5aaee1e676a3c1b0bb7cebcd392 (patch)
tree5b90934904fa42b1b979b83bd223b3e94bf3676f /src/libstddjb/byte_chr.c
parent90767eae542f72b7069a3575bc55944cebc749b6 (diff)
downloadskalibs-73ebb5709dc2a5aaee1e676a3c1b0bb7cebcd392.tar.xz
- added str_nlen()
- various fixes for --enable-libc-replacements
Diffstat (limited to 'src/libstddjb/byte_chr.c')
-rw-r--r--src/libstddjb/byte_chr.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/libstddjb/byte_chr.c b/src/libstddjb/byte_chr.c
index e9caef5..45ad543 100644
--- a/src/libstddjb/byte_chr.c
+++ b/src/libstddjb/byte_chr.c
@@ -17,17 +17,10 @@ unsigned int byte_chr (char const *s, unsigned int n, int c)
unsigned int byte_chr (char const *s, unsigned int n, int c)
{
+ register unsigned int i = 0 ;
register char ch = c ;
- register char const *t = s ;
-
- for (;;)
- {
- if (!n) break; if (*t == ch) break; ++t; --n;
- if (!n) break; if (*t == ch) break; ++t; --n;
- if (!n) break; if (*t == ch) break; ++t; --n;
- if (!n) break; if (*t == ch) break; ++t; --n;
- }
- return t - s ;
+ for (; i < n && *s++ != ch ; i++) ;
+ return i ;
}
#endif