Remove use of non-standard strnlen()
authorPyry Haulos <phaulos@google.com>
Thu, 21 Apr 2016 22:09:17 +0000 (15:09 -0700)
committerPyry Haulos <phaulos@google.com>
Thu, 21 Apr 2016 22:09:17 +0000 (15:09 -0700)
framework/delibs/debase/deString.c

index 777d6a2..e6290f0 100644 (file)
@@ -111,7 +111,6 @@ deBool deStringBeginsWith (const char* str, const char* lead)
        return DE_TRUE;
 }
 
-
 int deVsprintf (char* string, size_t size, const char* format, va_list list)
 {
        int                     res;
@@ -182,12 +181,14 @@ char* deStrcat (char* s1, size_t size, const char* s2)
 
 size_t deStrnlen (const char* string, size_t maxSize)
 {
-#if ((DE_COMPILER == DE_COMPILER_MSC) && (DE_OS != DE_OS_WINCE)) || (__STDC_VERSION__ >= 201100L)
+#if ((DE_COMPILER == DE_COMPILER_MSC) && (DE_OS != DE_OS_WINCE)) || (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201100L))
        return strnlen_s(string, maxSize);
 #else
-       return strnlen(string, maxSize);
+       size_t len = 0;
+       while (len < maxSize || string[len] != 0)
+               ++len;
+       return len;
 #endif
-
 }
 
 DE_END_EXTERN_C