diff options
author | gerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-02-18 22:43:48 +0000 |
---|---|---|
committer | gerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-02-18 22:43:48 +0000 |
commit | c52b5716207d87256f884cb7d42f415627eadbca (patch) | |
tree | 6328f7905a2f7caf857cbf0126613a0889845c7c /epan/strutil.c | |
parent | a8ad6d7c7d9ffc8f3e0f3a23e2a513349ea412da (diff) |
Fix some dead code and zero division issues found by Clang scan-build.
In convert_string_case() use g_utf8_strup() instead of converting each
character by hand. Hopefully this won't cause any unexpected changes in
behavior.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@36006 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/strutil.c')
-rw-r--r-- | epan/strutil.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/epan/strutil.c b/epan/strutil.c index 3779124730..b9f11c86c8 100644 --- a/epan/strutil.c +++ b/epan/strutil.c @@ -866,19 +866,12 @@ convert_string_to_hex(const char *string, size_t *nbytes) char * convert_string_case(const char *string, gboolean case_insensitive) { - char *out_string; - const char *p; - char c; - char *q; if (case_insensitive) { - out_string = g_malloc(strlen(string) + 1); - for (p = &string[0], q = &out_string[0]; (c = *p) != '\0'; p++, q++) - *q = toupper((unsigned char)*p); - *q = '\0'; - } else - out_string = g_strdup(string); - return out_string; + return g_utf8_strup(string, -1); + } else { + return g_strdup(string); + } } char * @@ -1044,7 +1037,7 @@ ws_strdup_escape_underscore (const gchar *str) *q++ = *p++; } - *q++ = '\0'; + *q = '\0'; return new_str; } @@ -1073,7 +1066,7 @@ ws_strdup_unescape_underscore (const gchar *str) else p++; } - *q++ = '\0'; + *q = '\0'; return new_str; } |