From: Jeremy Allison Date: Wed, 8 Aug 2012 19:16:40 +0000 (-0700) Subject: Change strupper_m() to return a value. X-Git-Tag: samba-4.0.0beta6~34 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9fcc6f27fb2cf8cf5c30b701cb6788fc8f70cf82;p=thirdparty%2Fsamba.git Change strupper_m() to return a value. --- diff --git a/source3/include/proto.h b/source3/include/proto.h index ebb76efface..bdb20bf8ffa 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -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); diff --git a/source3/lib/util_str.c b/source3/lib/util_str.c index f6d9f3425f7..f97cd3cc25e 100644 --- a/source3/lib/util_str.c +++ b/source3/lib/util_str.c @@ -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; } /**