diff options
| author | 2009-07-08 19:30:53 +0200 | |
|---|---|---|
| committer | 2009-07-08 19:30:53 +0200 | |
| commit | c8a140dce1d160c1766d3e0ac1346900efc193f3 (patch) | |
| tree | 120f29a6fb0fb86b10df3f95a028b2ff12bc8126 /src/xplist.c | |
| parent | e925e6f61752fbdf9304c4f62bad3d21dc881a32 (diff) | |
| download | libplist-c8a140dce1d160c1766d3e0ac1346900efc193f3.tar.gz libplist-c8a140dce1d160c1766d3e0ac1346900efc193f3.tar.bz2 | |
Add a deep copy function and value setters for nodes.
Diffstat (limited to 'src/xplist.c')
| -rw-r--r-- | src/xplist.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/xplist.c b/src/xplist.c index 38cc4fe..490367e 100644 --- a/src/xplist.c +++ b/src/xplist.c | |||
| @@ -257,7 +257,7 @@ static void xml_to_node(xmlNodePtr xml_node, plist_t * plist_node) | |||
| 257 | 257 | ||
| 258 | if (!xmlStrcmp(node->name, XPLIST_INT)) { | 258 | if (!xmlStrcmp(node->name, XPLIST_INT)) { |
| 259 | xmlChar *strval = xmlNodeGetContent(node); | 259 | xmlChar *strval = xmlNodeGetContent(node); |
| 260 | data->intval = g_ascii_strtoull((char *)strval, NULL, 0); | 260 | data->intval = g_ascii_strtoull((char *) strval, NULL, 0); |
| 261 | data->type = PLIST_UINT; | 261 | data->type = PLIST_UINT; |
| 262 | data->length = 8; | 262 | data->length = 8; |
| 263 | xmlFree(strval); | 263 | xmlFree(strval); |
| @@ -266,7 +266,7 @@ static void xml_to_node(xmlNodePtr xml_node, plist_t * plist_node) | |||
| 266 | 266 | ||
| 267 | if (!xmlStrcmp(node->name, XPLIST_REAL)) { | 267 | if (!xmlStrcmp(node->name, XPLIST_REAL)) { |
| 268 | xmlChar *strval = xmlNodeGetContent(node); | 268 | xmlChar *strval = xmlNodeGetContent(node); |
| 269 | data->realval = atof((char *)strval); | 269 | data->realval = atof((char *) strval); |
| 270 | data->type = PLIST_REAL; | 270 | data->type = PLIST_REAL; |
| 271 | data->length = 8; | 271 | data->length = 8; |
| 272 | xmlFree(strval); | 272 | xmlFree(strval); |
| @@ -287,9 +287,7 @@ static void xml_to_node(xmlNodePtr xml_node, plist_t * plist_node) | |||
| 287 | len = strlen((char *) strval); | 287 | len = strlen((char *) strval); |
| 288 | type = xmlDetectCharEncoding(strval, len); | 288 | type = xmlDetectCharEncoding(strval, len); |
| 289 | 289 | ||
| 290 | if (XML_CHAR_ENCODING_UTF8 == type || | 290 | if (XML_CHAR_ENCODING_UTF8 == type || XML_CHAR_ENCODING_ASCII == type || XML_CHAR_ENCODING_NONE == type) { |
| 291 | XML_CHAR_ENCODING_ASCII == type || | ||
| 292 | XML_CHAR_ENCODING_NONE == type) { | ||
| 293 | data->strval = strdup((char *) strval); | 291 | data->strval = strdup((char *) strval); |
| 294 | data->type = PLIST_STRING; | 292 | data->type = PLIST_STRING; |
| 295 | data->length = strlen(data->strval); | 293 | data->length = strlen(data->strval); |
| @@ -311,7 +309,7 @@ static void xml_to_node(xmlNodePtr xml_node, plist_t * plist_node) | |||
| 311 | xmlChar *strval = xmlNodeGetContent(node); | 309 | xmlChar *strval = xmlNodeGetContent(node); |
| 312 | gsize size = 0; | 310 | gsize size = 0; |
| 313 | guchar *dec = g_base64_decode((char *) strval, &size); | 311 | guchar *dec = g_base64_decode((char *) strval, &size); |
| 314 | data->buff = (uint8_t*) malloc( size * sizeof(uint8_t)); | 312 | data->buff = (uint8_t *) malloc(size * sizeof(uint8_t)); |
| 315 | memcpy(data->buff, dec, size * sizeof(uint8_t)); | 313 | memcpy(data->buff, dec, size * sizeof(uint8_t)); |
| 316 | g_free(dec); | 314 | g_free(dec); |
| 317 | data->length = size; | 315 | data->length = size; |
