diff options
| author | 2009-07-18 12:10:07 +0200 | |
|---|---|---|
| committer | 2009-07-18 12:10:07 +0200 | |
| commit | 1b0bcb3434d25d425862a2e06d63277c0ad3a9f1 (patch) | |
| tree | 8019546524bb2080cb9ee571638edfb0708fe4f3 /src/plist.c | |
| parent | 07c1d3c90512f5fa057e7eff7d307cffe6258111 (diff) | |
| download | libplist-1b0bcb3434d25d425862a2e06d63277c0ad3a9f1.tar.gz libplist-1b0bcb3434d25d425862a2e06d63277c0ad3a9f1.tar.bz2 | |
Fix copy_node to also copy key nodes.
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) | |||
| 150 | memcpy(newdata, data, sizeof(struct plist_data_s)); | 150 | memcpy(newdata, data, sizeof(struct plist_data_s)); |
| 151 | 151 | ||
| 152 | plist_type node_type = plist_get_node_type(node); | 152 | plist_type node_type = plist_get_node_type(node); |
| 153 | if (node_type == PLIST_DATA || node_type == PLIST_STRING) { | 153 | if (node_type == PLIST_DATA || node_type == PLIST_STRING || node_type == PLIST_KEY) { |
| 154 | switch (node_type) { | 154 | switch (node_type) { |
| 155 | case PLIST_DATA: | 155 | case PLIST_DATA: |
| 156 | newdata->buff = (uint8_t *) malloc(data->length); | 156 | newdata->buff = (uint8_t *) malloc(data->length); |
| 157 | memcpy(newdata->buff, data->buff, data->length); | 157 | memcpy(newdata->buff, data->buff, data->length); |
| 158 | case PLIST_KEY: | ||
| 158 | case PLIST_STRING: | 159 | case PLIST_STRING: |
| 159 | newdata->strval = strdup((char *) data->strval); | 160 | newdata->strval = strdup((char *) data->strval); |
| 160 | default: | 161 | default: |
