summaryrefslogtreecommitdiffstats
path: root/libcutils/str_parms.c
diff options
context:
space:
mode:
Diffstat (limited to 'libcutils/str_parms.c')
-rw-r--r--libcutils/str_parms.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/libcutils/str_parms.c b/libcutils/str_parms.c
index 14fecec..16138f6 100644
--- a/libcutils/str_parms.c
+++ b/libcutils/str_parms.c
@@ -158,15 +158,18 @@ int str_parms_add_str(struct str_parms *str_parms, const char *key,
const char *value)
{
void *old_val;
- char *tmp;
+ void *tmp_key;
+ void *tmp_val;
- tmp = strdup(value);
- old_val = hashmapPut(str_parms->map, (void *)key, tmp);
+ tmp_key = strdup(key);
+ tmp_val = strdup(value);
+ old_val = hashmapPut(str_parms->map, tmp_key, tmp_val);
if (old_val) {
free(old_val);
} else if (errno == ENOMEM) {
- free(tmp);
+ free(tmp_key);
+ free(tmp_val);
return -ENOMEM;
}
return 0;
@@ -298,6 +301,7 @@ static void test_str_parms_str(const char *str)
int ret;
str_parms = str_parms_create_str(str);
+ str_parms_add_str(str_parms, "dude", "woah");
str_parms_dump(str_parms);
out_str = str_parms_to_str(str_parms);
str_parms_destroy(str_parms);