diff options
author | Guy Harris <guy@alum.mit.edu> | 2015-12-31 14:40:38 -0800 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2015-12-31 22:41:06 +0000 |
commit | 01dc4754847c6d55a470d1e534a8a60024b3031a (patch) | |
tree | 1a59f963c84677b6f139b9efa3db9c3963bb8b20 /epan/uat.h | |
parent | 5c069545653a154c03530c72e1a6a7cb842deeca (diff) |
Don't cast away constness.
Save a non-const pointer and use it when freeing.
Fix some indentation while we're at it.
Change-Id: Iad2451130c4d1f252ad9f63b12205cd1aae70eb7
Reviewed-on: https://code.wireshark.org/review/12978
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan/uat.h')
-rw-r--r-- | epan/uat.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/epan/uat.h b/epan/uat.h index eae0c6366d..0a2c515e8e 100644 --- a/epan/uat.h +++ b/epan/uat.h @@ -522,16 +522,17 @@ static void basename ## _ ## field_name ## _set_cb(void* rec, const char* buf, g g_free(str); } \ static void basename ## _ ## field_name ## _tostr_cb(void* rec, const char** out_ptr, unsigned* out_len, const void* vs, const void* UNUSED_PARAMETER(u2)) {\ guint i; \ - *out_ptr = g_strdup(default_str); \ + char *str = g_strdup(default_str); \ + *out_ptr = str; \ *out_len = (unsigned)strlen(default_str);\ for(i=0;((const value_string*)vs)[i].strptr;i++) { \ if ( ((const value_string*)vs)[i].value == ((rec_t*)rec)->field_name ) { \ - g_free((char*)*out_ptr); \ + g_free(str); \ *out_ptr = g_strdup(((const value_string*)vs)[i].strptr); \ *out_len = (unsigned)strlen(*out_ptr); \ return; \ } \ - } } \ + } } \ #define UAT_VS_CSTRING_DEF(basename,field_name,rec_t,default_val,default_str) \ static void basename ## _ ## field_name ## _set_cb(void* rec, const char* buf, guint len, const void* vs, const void* UNUSED_PARAMETER(u2)) {\ |