aboutsummaryrefslogtreecommitdiffstats
path: root/epan/strutil.c
diff options
context:
space:
mode:
authorgerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>2011-02-18 22:43:48 +0000
committergerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>2011-02-18 22:43:48 +0000
commitc52b5716207d87256f884cb7d42f415627eadbca (patch)
tree6328f7905a2f7caf857cbf0126613a0889845c7c /epan/strutil.c
parenta8ad6d7c7d9ffc8f3e0f3a23e2a513349ea412da (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.c19
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;
}