Changeset 115
- Timestamp:
- 03/06/06 02:40:15 (3 years ago)
- Files:
-
- branches/development-branch/libsyncml/objects/sml_auth.c (modified) (3 diffs)
- branches/development-branch/libsyncml/objects/sml_devinf_obj.c (modified) (3 diffs)
- branches/development-branch/libsyncml/objects/sml_ds_server.c (modified) (7 diffs)
- branches/development-branch/libsyncml/parser/sml_xml_assm.c (modified) (5 diffs)
- branches/development-branch/libsyncml/parser/sml_xml_parse.c (modified) (75 diffs)
- branches/development-branch/libsyncml/parser/sml_xml_parse.h (modified) (1 diff)
- branches/development-branch/libsyncml/sml_command.c (modified) (8 diffs)
- branches/development-branch/libsyncml/sml_command.h (modified) (2 diffs)
- branches/development-branch/libsyncml/sml_command_internals.h (modified) (2 diffs)
- branches/development-branch/libsyncml/sml_devinf.c (modified) (3 diffs)
- branches/development-branch/libsyncml/sml_elements.c (modified) (7 diffs)
- branches/development-branch/libsyncml/sml_elements.h (modified) (1 diff)
- branches/development-branch/libsyncml/sml_elements_internals.h (modified) (2 diffs)
- branches/development-branch/libsyncml/sml_manager.c (modified) (8 diffs)
- branches/development-branch/libsyncml/sml_manager.h (modified) (2 diffs)
- branches/development-branch/libsyncml/sml_notification.c (modified) (5 diffs)
- branches/development-branch/libsyncml/sml_parse.c (modified) (3 diffs)
- branches/development-branch/libsyncml/sml_parse.h (modified) (2 diffs)
- branches/development-branch/libsyncml/sml_session.c (modified) (5 diffs)
- branches/development-branch/libsyncml/sml_session.h (modified) (1 diff)
- branches/development-branch/libsyncml/sml_session_internals.h (modified) (1 diff)
- branches/development-branch/libsyncml/sml_transport.c (modified) (1 diff)
- branches/development-branch/tests/check_ds.c (modified) (11 diffs)
- branches/development-branch/tests/check_elements.c (modified) (13 diffs)
- branches/development-branch/tests/check_session.c (modified) (20 diffs)
- branches/development-branch/tests/check_wbxml_assembler.c (modified) (14 diffs)
- branches/development-branch/tests/check_wbxml_parser.c (modified) (20 diffs)
- branches/development-branch/tests/check_xml_assembler.c (modified) (62 diffs)
- branches/development-branch/tests/check_xml_parser.c (modified) (43 diffs)
- branches/development-branch/tests/support.c (modified) (1 diff)
- branches/development-branch/tests/valgrind.supp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/development-branch/libsyncml/objects/sml_auth.c
r111 r115 43 43 } 44 44 45 void _header_callback(SmlSession *session, SmlHeader *header, void *userdata)46 { 47 smlTrace(TRACE_ENTRY, "%s(%p, %p, %p )", __func__, session, header, userdata);45 void _header_callback(SmlSession *session, SmlHeader *header, SmlCred *cred, void *userdata) 46 { 47 smlTrace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, session, header, cred, userdata); 48 48 smlAssert(session); 49 49 smlAssert(userdata); … … 51 51 SmlAuthenticator *auth = userdata; 52 52 SmlError *error = NULL; 53 SmlCred *cred = header->cred;54 53 char *buffer = NULL; 55 54 unsigned int buffersize = 0; … … 199 198 200 199 error_free_reply: 201 smlStatus Free(reply);200 smlStatusUnref(reply); 202 201 error: 203 202 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); branches/development-branch/libsyncml/objects/sml_devinf_obj.c
r112 r115 109 109 110 110 error_free_cmd: 111 smlCommand Free(cmd);111 smlCommandUnref(cmd); 112 112 error: 113 113 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 265 265 goto error_free_loc; 266 266 267 smlLocation Free(devinf10);268 smlLocation Free(devinf11);267 smlLocationUnref(devinf10); 268 smlLocationUnref(devinf11); 269 269 smlTrace(TRACE_EXIT, "%s", __func__); 270 270 return TRUE; … … 272 272 error_free_loc: 273 273 if (devinf10) 274 smlLocation Free(devinf10);274 smlLocationUnref(devinf10); 275 275 if (devinf11) 276 smlLocation Free(devinf11);276 smlLocationUnref(devinf11); 277 277 error: 278 278 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); branches/development-branch/libsyncml/objects/sml_ds_server.c
r101 r115 261 261 g_free(dsession); 262 262 error_free_target: 263 smlLocation Free(server->target);263 smlLocationUnref(server->target); 264 264 error: 265 265 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(&error)); … … 329 329 330 330 error_free_location: 331 smlLocation Free(server->location);331 smlLocationUnref(server->location); 332 332 error_free_server: 333 333 g_free(server); … … 343 343 344 344 if (server->location) 345 smlLocation Free(server->location);345 smlLocationUnref(server->location); 346 346 347 347 g_free(server); … … 422 422 423 423 error_free_target: 424 smlLocation Free(server->target);424 smlLocationUnref(server->target); 425 425 error_free_session: 426 426 g_free(dsession); … … 554 554 error: 555 555 if (reply) 556 smlStatus Free(reply);556 smlStatusUnref(reply); 557 557 smlTrace(TRACE_EXIT_ERROR, "%s: Unable to dispatch: %s", __func__, smlErrorPrint(&error)); 558 558 smlErrorDeref(&error); … … 747 747 g_free(ctx); 748 748 error_free_cmd: 749 smlCommand Free(cmd);749 smlCommandUnref(cmd); 750 750 error: 751 751 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 839 839 840 840 error_free_cmd: 841 smlCommand Free(cmd);841 smlCommandUnref(cmd); 842 842 error: 843 843 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); branches/development-branch/libsyncml/parser/sml_xml_assm.c
r114 r115 1131 1131 } 1132 1132 1133 void smlXmlAssemblerFree(SmlXmlAssembler *assm)1134 {1135 smlTrace(TRACE_ENTRY, "%s(%p)", __func__, assm);1136 smlAssert(assm);1137 1138 g_free(assm);1139 1140 smlTrace(TRACE_EXIT, "%s", __func__);1141 }1142 1143 1133 static void flush_list(GList *list) 1144 1134 { … … 1158 1148 g_list_free(list); 1159 1149 1150 smlTrace(TRACE_EXIT, "%s", __func__); 1151 } 1152 1153 void smlXmlAssemblerFree(SmlXmlAssembler *assm) 1154 { 1155 smlTrace(TRACE_ENTRY, "%s(%p)", __func__, assm); 1156 smlAssert(assm); 1157 1158 if (assm->header_buffer) 1159 xmlBufferFree(assm->header_buffer); 1160 1161 while (assm->statuses) { 1162 SmlXmlAssemblerStatus *status = assm->statuses->data; 1163 1164 if (status->buffer) 1165 xmlBufferFree(status->buffer); 1166 1167 g_free(status); 1168 assm->statuses = g_list_delete_link(assm->statuses, assm->statuses); 1169 } 1170 1171 flush_list(assm->commands); 1172 1173 g_free(assm); 1174 1160 1175 smlTrace(TRACE_EXIT, "%s", __func__); 1161 1176 } … … 1270 1285 if (!smlXmlAssemblerAddChildren(assm, cmd->children, error)) 1271 1286 goto error; 1272 break; 1273 case SML_ASSEMBLER_NODE_CLOSE: 1287 1274 1288 smlTrace(TRACE_INTERNAL, "closing node"); 1275 1289 if (!_smlXmlAssemblerEndNode(assm, error)) 1276 1290 goto error; 1291 break; 1292 case SML_ASSEMBLER_NODE_CLOSE: 1293 /*smlTrace(TRACE_INTERNAL, "closing node"); 1294 if (!_smlXmlAssemblerEndNode(assm, error)) 1295 goto error;*/ 1277 1296 break; 1278 1297 } … … 1414 1433 assm->writer = NULL; 1415 1434 1416 *data = g_strdup((char *)xmlBufferContent(buffer)); 1435 //Avoid the memory copy here 1436 *data = (char *)xmlBufferContent(buffer); 1417 1437 *size = xmlBufferLength(buffer); 1418 1438 if (end) { … … 1423 1443 } 1424 1444 1425 smlTrace(TRACE_INTERNAL, "Message Assembled: %s", smlPrintBinary(*data, *size)); 1445 g_free(buffer); 1446 1447 //FIXME ADD debug ifs 1448 char *debugstr = smlPrintBinary(*data, *size); 1449 smlTrace(TRACE_INTERNAL, "Message Assembled: %s", debugstr); 1450 g_free(debugstr); 1426 1451 1427 1452 smlTrace(TRACE_EXIT, "%s", __func__); branches/development-branch/libsyncml/parser/sml_xml_parse.c
r106 r115 104 104 goto error; 105 105 106 *id = atoi(g_strstrip((char *)xmlTextReader Value(parser->reader)));106 *id = atoi(g_strstrip((char *)xmlTextReaderConstValue(parser->reader))); 107 107 108 108 if (!_smlXmlParserExpectNode(parser, XML_NODE_CLOSE, FALSE, name, error)) … … 131 131 132 132 if (xmlTextReaderNodeType(parser->reader) == XML_NODE_TEXT) { 133 *string = g_strstrip(g_strdup((char *)xmlTextReader Value(parser->reader)));133 *string = g_strstrip(g_strdup((char *)xmlTextReaderConstValue(parser->reader))); 134 134 135 135 if (!_smlXmlParserExpectNode(parser, XML_NODE_CLOSE, FALSE, name, error)) … … 197 197 case XML_NODE_CDATA: 198 198 case XML_NODE_TEXT: 199 rc = xmlTextWriterWriteRaw(writer, xmlTextReader Value(parser->reader));199 rc = xmlTextWriterWriteRaw(writer, xmlTextReaderConstValue(parser->reader)); 200 200 if (rc < 0) { 201 201 smlErrorSet(error, SML_ERROR_GENERIC, "Unable to add string"); … … 217 217 218 218 xmlFreeTextWriter(writer); 219 *string = g_strdup((char *)xmlBufferContent(buffer));219 *string = (char *)xmlBufferContent(buffer); 220 220 if (size) 221 221 *size = xmlBufferLength(buffer); 222 222 223 223 (*string)[*size - 1] = 0; 224 225 //Hack to avoid memory copy 226 g_free(buffer); 224 227 225 228 return TRUE; … … 314 317 if (!location) 315 318 goto error; 319 (*location)->refCount = 1; 316 320 317 321 while (1) { … … 321 325 } 322 326 323 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_TARGET) && \327 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_TARGET) && \ 324 328 xmlTextReaderNodeType(parser->reader) == XML_NODE_CLOSE) { 325 329 break; 326 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_SOURCE) && \330 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_SOURCE) && \ 327 331 xmlTextReaderNodeType(parser->reader) == XML_NODE_CLOSE) { 328 332 break; … … 332 336 } 333 337 334 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_LOCURI)) {338 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_LOCURI)) { 335 339 if (!_smlXmlParserGetString(parser, &((*location)->locURI), SML_ELEMENT_LOCURI, error)) 336 340 goto error_free_location; 337 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_LOCNAME)) {341 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_LOCNAME)) { 338 342 if (!_smlXmlParserGetString(parser, &((*location)->locName), SML_ELEMENT_LOCNAME, error)) 339 343 goto error_free_location; … … 353 357 354 358 error_free_location: 355 g_free(location);359 smlLocationUnref(*location); 356 360 error: 357 361 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 380 384 } 381 385 382 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_ANCHOR) && \386 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_ANCHOR) && \ 383 387 xmlTextReaderNodeType(parser->reader) == XML_NODE_CLOSE) { 384 388 break; … … 388 392 } 389 393 390 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_NEXT)) {394 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_NEXT)) { 391 395 if (!_smlXmlParserGetString(parser, &((*anchor)->next), SML_ELEMENT_NEXT, error)) 392 396 goto error_free_anchor; 393 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_LAST)) {397 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_LAST)) { 394 398 if (!_smlXmlParserGetString(parser, &((*anchor)->last), SML_ELEMENT_LAST, error)) 395 399 goto error_free_anchor; … … 409 413 410 414 error_free_anchor: 411 g_free(*anchor);415 smlAnchorFree(*anchor); 412 416 error: 413 417 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 426 430 } 427 431 428 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_META) && \432 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_META) && \ 429 433 xmlTextReaderNodeType(parser->reader) == XML_NODE_CLOSE) { 430 434 break; … … 434 438 } 435 439 436 if (type && !strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_TYPE)) {440 if (type && !strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_TYPE)) { 437 441 if (!_smlXmlParserGetString(parser, type, SML_ELEMENT_TYPE, error)) 438 442 goto error; 439 } else if (anchor && !strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_ANCHOR)) {443 } else if (anchor && !strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_ANCHOR)) { 440 444 if (!_smlAnchorParse(anchor, parser, error)) 441 445 goto error; 442 } else if (format && !strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_FORMAT)) {446 } else if (format && !strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_FORMAT)) { 443 447 if (!_smlXmlParserGetString(parser, format, SML_ELEMENT_FORMAT, error)) 444 448 goto error; 445 449 } else { 446 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node: %s", xmlTextReader Name(parser->reader));450 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node: %s", xmlTextReaderConstName(parser->reader)); 447 451 goto error; 448 452 } … … 468 472 } 469 473 470 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_META) && \474 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_META) && \ 471 475 xmlTextReaderNodeType(parser->reader) == XML_NODE_CLOSE) { 472 476 break; … … 476 480 } 477 481 478 if (maxobjsize && !strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_MAXOBJSIZE)) {482 if (maxobjsize && !strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_MAXOBJSIZE)) { 479 483 if (!_smlXmlParserGetID(parser, maxobjsize, SML_ELEMENT_MAXOBJSIZE, error)) 480 484 goto error; 481 485 } else { 482 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node: %s", xmlTextReader Name(parser->reader));486 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node: %s", xmlTextReaderConstName(parser->reader)); 483 487 goto error; 484 488 } … … 505 509 if (!_smlXmlParserStep(parser)) { 506 510 smlErrorSet(error, SML_ERROR_GENERIC, "Missing nodes"); 507 goto error ;508 } 509 510 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_ITEM) && \511 goto error_free_item; 512 } 513 514 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_ITEM) && \ 511 515 xmlTextReaderNodeType(parser->reader) == XML_NODE_CLOSE) { 512 516 break; … … 516 520 } 517 521 518 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_SOURCE)) {522 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_SOURCE)) { 519 523 if (!_smlLocationParse(&item->source, parser, error)) 520 goto error ;521 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_TARGET)) {524 goto error_free_item; 525 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_TARGET)) { 522 526 if (!_smlLocationParse(&item->target, parser, error)) 523 goto error ;524 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_META)) {527 goto error_free_item; 528 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_META)) { 525 529 switch (type) { 526 530 case SML_COMMAND_TYPE_ALERT: 527 531 if (!_smlCommandMetaParse(parser, NULL, NULL, &cmd->private.alert.anchor, error)) 528 goto error ;532 goto error_free_item; 529 533 break; 530 534 default: 531 535 smlErrorSet(error, SML_ERROR_GENERIC, "Unknown command type"); 532 goto error ;536 goto error_free_item; 533 537 } 534 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_DATA)) {538 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_DATA)) { 535 539 switch (type) { 536 540 case SML_COMMAND_TYPE_ALERT: 537 541 if (!_smlXmlParserStep(parser)) { 538 542 smlErrorSet(error, SML_ERROR_GENERIC, "Missing nodes"); 539 goto error ;543 goto error_free_item; 540 544 } 541 545 542 546 if (!_smlAnchorParse(&(item->anchor), parser, error)) 543 goto error ;547 goto error_free_item; 544 548 545 549 if (!_smlXmlParserStep(parser)) { 546 550 smlErrorSet(error, SML_ERROR_GENERIC, "Missing nodes"); 547 goto error ;551 goto error_free_item; 548 552 } 549 553 break; 550 554 default: 551 555 if (!_smlXmlParserGetData(parser, &item->data, &item->size, SML_ELEMENT_DATA, error)) 552 goto error ;556 goto error_free_item; 553 557 } 554 558 } else { 555 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node %s", xmlTextReader Name(parser->reader));556 goto error ;559 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node %s", xmlTextReaderConstName(parser->reader)); 560 goto error_free_item; 557 561 } 558 562 } … … 561 565 return item; 562 566 567 error_free_item: 568 smlItemFree(item); 563 569 error: 564 570 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 583 589 } 584 590 585 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_CRED) && \591 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_CRED) && \ 586 592 xmlTextReaderNodeType(parser->reader) == XML_NODE_CLOSE) { 587 593 break; … … 591 597 } 592 598 593 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_META)) {599 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_META)) { 594 600 if (!_smlCommandMetaParse(parser, &format, &type, NULL, error)) 595 601 goto error_free_cred; 596 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_DATA)) {602 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_DATA)) { 597 603 if (!_smlXmlParserGetString(parser, &cred->data, SML_ELEMENT_DATA, error)) 598 604 goto error_free_cred; 599 605 } else { 600 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node %s", xmlTextReader Name(parser->reader));606 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node %s", xmlTextReaderConstName(parser->reader)); 601 607 goto error_free_cred; 602 608 } … … 633 639 634 640 error_free_cred: 635 if (cred->data) 636 g_free(cred->data); 637 g_free(cred); 641 smlCredFree(cred); 638 642 error: 639 643 if (format) … … 656 660 if (!*cmd) 657 661 goto error; 662 (*cmd)->refCount = 1; 658 663 659 664 while (1) { … … 663 668 } 664 669 665 if (!strcmp((char *)xmlTextReader Name(parser->reader), name) && \670 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), name) && \ 666 671 xmlTextReaderNodeType(parser->reader) == XML_NODE_CLOSE) { 667 672 break; … … 671 676 } 672 677 673 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_CMDID)) {678 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_CMDID)) { 674 679 if (!_smlXmlParserGetID(parser, &((*cmd)->cmdID), SML_ELEMENT_CMDID, error)) 675 680 goto error; 676 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_ITEM)) {681 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_ITEM)) { 677 682 item = _smlItemParse(parser, *cmd, SML_COMMAND_TYPE_SYNC, error); 678 683 if (!item) 679 684 goto error; 680 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_META)) {685 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_META)) { 681 686 if (!_smlCommandMetaParse(parser, NULL, &contenttype, NULL, error)) 682 687 goto error; … … 738 743 } 739 744 745 if (contenttype) 746 g_free(contenttype); 747 740 748 smlTrace(TRACE_EXIT, "%s: %p", __func__, *cmd); 741 749 return TRUE; 742 750 743 751 error_free_cmd: 744 smlCommandFree(*cmd); 745 error: 752 smlCommandUnref(*cmd); 753 error: 754 if (contenttype) 755 g_free(contenttype); 746 756 if (item) 747 757 smlItemFree(item); … … 761 771 } 762 772 763 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_META) && \773 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_META) && \ 764 774 xmlTextReaderNodeType(parser->reader) == XML_NODE_CLOSE) { 765 775 break; … … 769 779 } 770 780 771 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_MAXMSGSIZE)) {781 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_MAXMSGSIZE)) { 772 782 if (!_smlXmlParserGetID(parser, maxmsgsize, SML_ELEMENT_MAXMSGSIZE, error)) 773 783 goto error; 774 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_MAXOBJSIZE)) {784 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_MAXOBJSIZE)) { 775 785 if (!_smlXmlParserGetID(parser, maxobjsize, SML_ELEMENT_MAXOBJSIZE, error)) 776 786 goto error; … … 803 813 if (!*cmd) 804 814 goto error; 815 (*cmd)->refCount = 1; 805 816 806 817 while (1) { … … 810 821 } 811 822 812 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_ALERT) && \823 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_ALERT) && \ 813 824 xmlTextReaderNodeType(parser->reader) == XML_NODE_CLOSE) { 814 825 break; … … 818 829 } 819 830 820 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_CMDID)) {831 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_CMDID)) { 821 832 if (!_smlXmlParserGetID(parser, &((*cmd)->cmdID), SML_ELEMENT_CMDID, error)) 822 833 goto error_free_cmd; 823 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_ITEM)) {834 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_ITEM)) { 824 835 SmlItem *item = _smlItemParse(parser, (*cmd), SML_COMMAND_TYPE_ALERT, error); 825 836 if (!item) … … 830 841 (*cmd)->source = item->source; 831 842 item->source = NULL; 832 } else if (!strcmp((char *)xmlTextReaderName(parser->reader), SML_ELEMENT_DATA)) { 843 844 smlItemFree(item); 845 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_DATA)) { 833 846 if (!_smlXmlParserGetID(parser, &((*cmd)->private.alert.type), SML_ELEMENT_DATA, error)) 834 847 goto error_free_cmd; 835 848 } else { 836 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node %s", xmlTextReader Name(parser->reader));849 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node %s", xmlTextReaderConstName(parser->reader)); 837 850 goto error_free_cmd; 838 851 } … … 854 867 855 868 error_free_cmd: 856 smlCommand Free(*cmd);869 smlCommandUnref(*cmd); 857 870 error: 858 871 *cmd = NULL; … … 877 890 } 878 891 879 if (xmlTextReaderNodeType(parser->reader) == XML_NODE_CLOSE && !strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_SYNC))892 if (xmlTextReaderNodeType(parser->reader) == XML_NODE_CLOSE && !strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_SYNC)) 880 893 break; 881 894 else if (xmlTextReaderNodeType(parser->reader) != XML_NODE_START) { … … 884 897 } 885 898 886 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_ADD) || \887 !strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_REPLACE) || \888 !strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_DELETE))889 break; 890 891 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_CMDID)) {899 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_ADD) || \ 900 !strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_REPLACE) || \ 901 !strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_DELETE)) 902 break; 903 904 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_CMDID)) { 892 905 if (!_smlXmlParserGetID(parser, &((*cmd)->cmdID), SML_ELEMENT_CMDID, error)) 893 906 goto error_free_cmd; 894 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_ITEM)) {907 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_ITEM)) { 895 908 SmlItem *item = _smlItemParse(parser, (*cmd), SML_COMMAND_TYPE_SYNC, error); 896 909 if (!item) 897 910 goto error_free_cmd; 898 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_META)) {911 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_META)) { 899 912 if (!_smlCommandSyncMetaParse(parser, &((*cmd)->private.sync.maxObjSize), error)) 900 913 goto error; 901 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_TARGET)) {914 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_TARGET)) { 902 915 if (!_smlLocationParse(&(*cmd)->target, parser, error)) 903 916 goto error_free_cmd; 904 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_SOURCE)) {917 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_SOURCE)) { 905 918 if (!_smlLocationParse(&(*cmd)->source, parser, error)) 906 919 goto error_free_cmd; 907 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_NUMBEROFCHANGES)) {920 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_NUMBEROFCHANGES)) { 908 921 if (!_smlXmlParserGetID(parser, &((*cmd)->private.sync.numChanged), SML_ELEMENT_NUMBEROFCHANGES, error)) 909 922 goto error_free_cmd; 910 923 } else { 911 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node: %s", xmlTextReader Name(parser->reader));924 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node: %s", xmlTextReaderConstName(parser->reader)); 912 925 goto error_free_cmd; 913 926 } … … 918 931 919 932 error_free_cmd: 920 smlCommand Free(*cmd);933 smlCommandUnref(*cmd); 921 934 error: 922 935 *cmd = NULL; … … 937 950 if (!_smlXmlParserStep(parser)) { 938 951 smlErrorSet(error, SML_ERROR_GENERIC, "Missing nodes"); 939 goto error ;940 } 941 942 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_MAPITEM) && \952 goto error_free_item; 953 } 954 955 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_MAPITEM) && \ 943 956 xmlTextReaderNodeType(parser->reader) == XML_NODE_CLOSE) { 944 957 break; 945 958 } else if (xmlTextReaderNodeType(parser->reader) != XML_NODE_START) { 946 959 smlErrorSet(error, SML_ERROR_GENERIC, "Not a start node"); 947 goto error ;948 } 949 950 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_SOURCE)) {960 goto error_free_item; 961 } 962 963 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_SOURCE)) { 951 964 if (!_smlLocationParse(&item->source, parser, error)) 952 goto error ;953 } else if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_TARGET)) {965 goto error_free_item; 966 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_TARGET)) { 954 967 if (!_smlLocationParse(&item->target, parser, error)) 955 goto error ;968 goto error_free_item; 956 969 } else { 957 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node %s", xmlTextReader Name(parser->reader));958 goto error ;970 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node %s", xmlTextReaderConstName(parser->reader)); 971 goto error_free_item; 959 972 } 960 973 } … … 963 976 return item; 964 977 978 error_free_item: 979 smlMapItemFree(item); 965 980 error: 966 981 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 977 992 if (!*cmd) 978 993 goto error; 994 (*cmd)->refCount = 1; 979 995 980 996 while (1) { … … 984 1000 } 985 1001 986 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_MAP) && \1002 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_MAP) && \ 987 1003 xmlTextReaderNodeType(parser->reader) == XML_NODE_CLOSE) { 988 1004 break; … … 992 1008 } 993 1009 994 if (!strcmp((char *)xmlTextReader Name(parser->reader), SML_ELEMENT_CMDID)) {1010 if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_CMDID)) { 995 1011
