summaryrefslogtreecommitdiff
path: root/epan/strutil.c
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2011-02-18 22:43:48 +0000
committerGerald Combs <gerald@wireshark.org>2011-02-18 22:43:48 +0000
commita6bbdaa8495fe13077dbe35b0f5fb7806e66342d (patch)
tree6328f7905a2f7caf857cbf0126613a0889845c7c /epan/strutil.c
parentaaeca955a50d70ff393d847e44e4142991a1324e (diff)
downloadwireshark-a6bbdaa8495fe13077dbe35b0f5fb7806e66342d.tar.gz
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. svn path=/trunk/; revision=36006
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;
}