diff options
Diffstat (limited to 'src/plist.c')
-rw-r--r-- | src/plist.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/plist.c b/src/plist.c index 143418d..4d98fd2 100644 --- a/src/plist.c +++ b/src/plist.c @@ -150,11 +150,12 @@ static void plist_copy_node(GNode * node, gpointer parent_node_ptr) memcpy(newdata, data, sizeof(struct plist_data_s)); plist_type node_type = plist_get_node_type(node); - if (node_type == PLIST_DATA || node_type == PLIST_STRING) { + if (node_type == PLIST_DATA || node_type == PLIST_STRING || node_type == PLIST_KEY) { switch (node_type) { case PLIST_DATA: newdata->buff = (uint8_t *) malloc(data->length); memcpy(newdata->buff, data->buff, data->length); + case PLIST_KEY: case PLIST_STRING: newdata->strval = strdup((char *) data->strval); default: |