Change strupper_m() to return a value.
authorJeremy Allison <jra@samba.org>
Wed, 8 Aug 2012 19:16:40 +0000 (12:16 -0700)
committerJeremy Allison <jra@samba.org>
Thu, 9 Aug 2012 16:47:35 +0000 (09:47 -0700)
source3/include/proto.h
source3/lib/util_str.c

index ebb76efface26333dfd71da7ec6d147b1cb02e3b..bdb20bf8ffae1511554d00bbb63e929c1a72bc67 100644 (file)
@@ -702,7 +702,7 @@ char *strrchr_m(const char *s, char c);
 char *strnrchr_m(const char *s, char c, unsigned int n);
 char *strstr_m(const char *src, const char *findstr);
 void strlower_m(char *s);
-void strupper_m(char *s);
+bool strupper_m(char *s);
 size_t strlen_m(const char *s);
 size_t strlen_m_term(const char *s);
 size_t strlen_m_term_null(const char *s);
index f6d9f3425f74cc9dfb99d989c4b17ba37d11eed7..f97cd3cc25e16b1fd0b54bd03030d4ba408cf44e 100644 (file)
@@ -547,10 +547,11 @@ _PUBLIC_ void strupper_m(char *s)
  Convert a string to upper case.
 **/
 
-void strupper_m(char *s)
+bool strupper_m(char *s)
 {
        size_t len;
        int errno_save;
+       bool ret = false;
 
        /* this is quite a common operation, so we want it to be
           fast. We optimise for the ascii case, knowing that all our
@@ -563,18 +564,21 @@ void strupper_m(char *s)
        }
 
        if (!*s)
-               return;
+               return true;
 
        /* I assume that lowercased string takes the same number of bytes
         * as source string even in multibyte encoding. (VIV) */
        len = strlen(s) + 1;
        errno_save = errno;
        errno = 0;
-       unix_strupper(s,len,s,len);
+       ret = unix_strupper(s,len,s,len);
        /* Catch mb conversion errors that may not terminate. */
-       if (errno)
+       if (errno) {
                s[len-1] = '\0';
+               ret = false;
+       }
        errno = errno_save;
+       return ret;
 }
 
 /**