[Sanitizer] add internal_strncmp to sanitizer libc

llvm-svn: 158658
This commit is contained in:
Alexey Samsonov 2012-06-18 14:34:59 +00:00
parent cf7d233ac0
commit 8516014790
2 changed files with 13 additions and 0 deletions

View File

@ -76,6 +76,18 @@ int internal_strcmp(const char *s1, const char *s2) {
return 0;
}
int internal_strncmp(const char *s1, const char *s2, uptr n) {
for (uptr i = 0; i < n; i++) {
unsigned c1 = *s1;
unsigned c2 = *s2;
if (c1 != c2) return (c1 < c2) ? -1 : 1;
if (c1 == 0) break;
s1++;
s2++;
}
return 0;
}
char* internal_strchr(const char *s, int c) {
while (true) {
if (*s == (char)c)

View File

@ -33,6 +33,7 @@ int internal_strcmp(const char *s1, const char *s2);
char *internal_strdup(const char *s);
uptr internal_strlen(const char *s);
char *internal_strncat(char *dst, const char *src, uptr n);
int internal_strncmp(const char *s1, const char *s2, uptr n);
char *internal_strncpy(char *dst, const char *src, uptr n);
uptr internal_strnlen(const char *s, uptr maxlen);
char *internal_strrchr(const char *s, int c);