[llvm-commits] [compiler-rt] r158658 - in /compiler-rt/trunk/lib/sanitizer_common: sanitizer_libc.cc sanitizer_libc.h

Alexey Samsonov samsonov at google.com
Mon Jun 18 07:34:59 PDT 2012


Author: samsonov
Date: Mon Jun 18 09:34:59 2012
New Revision: 158658

URL: http://llvm.org/viewvc/llvm-project?rev=158658&view=rev
Log:
[Sanitizer] add internal_strncmp to sanitizer libc

Modified:
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_libc.cc
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_libc.h

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_libc.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_libc.cc?rev=158658&r1=158657&r2=158658&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_libc.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_libc.cc Mon Jun 18 09:34:59 2012
@@ -76,6 +76,18 @@
   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)

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_libc.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_libc.h?rev=158658&r1=158657&r2=158658&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_libc.h (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_libc.h Mon Jun 18 09:34:59 2012
@@ -33,6 +33,7 @@
 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);





More information about the llvm-commits mailing list