diff options
| -rw-r--r-- | compiler-rt/lib/sanitizer_common/sanitizer_libc.cc | 9 | ||||
| -rw-r--r-- | compiler-rt/lib/sanitizer_common/sanitizer_libc.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_libc.cc b/compiler-rt/lib/sanitizer_common/sanitizer_libc.cc index c4332423bf3..6fa05e49d8e 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_libc.cc +++ b/compiler-rt/lib/sanitizer_common/sanitizer_libc.cc @@ -56,6 +56,15 @@ void *internal_memset(void* s, int c, uptr n) { return s; } +uptr internal_strcspn(const char *s, const char *reject) { + uptr i; + for (i = 0; s[i]; i++) { + if (internal_strchr(reject, s[i]) != 0) + return i; + } + return i; +} + char* internal_strdup(const char *s) { uptr len = internal_strlen(s); char *s2 = (char*)InternalAlloc(len + 1); diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_libc.h b/compiler-rt/lib/sanitizer_common/sanitizer_libc.h index 8da4286cef7..257af2c2f00 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_libc.h +++ b/compiler-rt/lib/sanitizer_common/sanitizer_libc.h @@ -33,6 +33,7 @@ void *internal_memcpy(void *dest, const void *src, uptr n); void *internal_memset(void *s, int c, uptr n); char* internal_strchr(const char *s, int c); int internal_strcmp(const char *s1, const char *s2); +uptr internal_strcspn(const char *s, const char *reject); char *internal_strdup(const char *s); uptr internal_strlen(const char *s); char *internal_strncat(char *dst, const char *src, uptr n); |

