| Index: third_party/libxml/testC14N.c
|
| diff --git a/third_party/libxml/testC14N.c b/third_party/libxml/testC14N.c
|
| index 674fc71e431bd1c2e8ef2357e24fb4426dc95bf0..fbfa86968a82476555d064a51dc86d3a6f1d4e4e 100644
|
| --- a/third_party/libxml/testC14N.c
|
| +++ b/third_party/libxml/testC14N.c
|
| @@ -32,13 +32,17 @@ static void usage(const char *name) {
|
| name);
|
| fprintf(stderr, "where <mode> is one of following:\n");
|
| fprintf(stderr,
|
| - "--with-comments \t XML file canonization w comments\n");
|
| + "--with-comments \t XML file canonicalization v1.0 w comments \n");
|
| fprintf(stderr,
|
| - "--without-comments \t XML file canonization w/o comments\n");
|
| + "--without-comments \t XML file canonicalization v1.0 w/o comments\n");
|
| fprintf(stderr,
|
| - "--exc-with-comments \t Exclusive XML file canonization w comments\n");
|
| + "--1-1-with-comments \t XML file canonicalization v1.1 w comments\n");
|
| fprintf(stderr,
|
| - "--exc-without-comments\t Exclusive XML file canonization w/o comments\n");
|
| + "--1-1-without-comments \t XML file canonicalization v1.1 w/o comments\n");
|
| + fprintf(stderr,
|
| + "--exc-with-comments \t Exclusive XML file canonicalization v1.0 w comments\n");
|
| + fprintf(stderr,
|
| + "--exc-without-comments\t Exclusive XML file canonicalization v1.0 w/o comments\n");
|
| }
|
|
|
| static xmlXPathObjectPtr
|
| @@ -49,7 +53,7 @@ static xmlChar **parse_list(xmlChar *str);
|
| /* static void print_xpath_nodes(xmlNodeSetPtr nodes); */
|
|
|
| static int
|
| -test_c14n(const char* xml_filename, int with_comments, int exclusive,
|
| +test_c14n(const char* xml_filename, int with_comments, int mode,
|
| const char* xpath_filename, xmlChar **inclusive_namespaces) {
|
| xmlDocPtr doc;
|
| xmlXPathObjectPtr xpath = NULL;
|
| @@ -96,7 +100,7 @@ test_c14n(const char* xml_filename, int with_comments, int exclusive,
|
| /* fprintf(stderr,"File \"%s\" loaded: start canonization\n", xml_filename); */
|
| ret = xmlC14NDocDumpMemory(doc,
|
| (xpath) ? xpath->nodesetval : NULL,
|
| - exclusive, inclusive_namespaces,
|
| + mode, inclusive_namespaces,
|
| with_comments, &result);
|
| if(ret >= 0) {
|
| if(result != NULL) {
|
| @@ -135,22 +139,26 @@ int main(int argc, char **argv) {
|
| fprintf(stderr, "Error: wrong number of arguments.\n");
|
| usage(argv[0]);
|
| } else if(strcmp(argv[1], "--with-comments") == 0) {
|
| - ret = test_c14n(argv[2], 1, 0, (argc > 3) ? argv[3] : NULL, NULL);
|
| + ret = test_c14n(argv[2], 1, XML_C14N_1_0, (argc > 3) ? argv[3] : NULL, NULL);
|
| } else if(strcmp(argv[1], "--without-comments") == 0) {
|
| - ret = test_c14n(argv[2], 0, 0, (argc > 3) ? argv[3] : NULL, NULL);
|
| + ret = test_c14n(argv[2], 0, XML_C14N_1_0, (argc > 3) ? argv[3] : NULL, NULL);
|
| + } else if(strcmp(argv[1], "--1-1-with-comments") == 0) {
|
| + ret = test_c14n(argv[2], 1, XML_C14N_1_1, (argc > 3) ? argv[3] : NULL, NULL);
|
| + } else if(strcmp(argv[1], "--1-1-without-comments") == 0) {
|
| + ret = test_c14n(argv[2], 0, XML_C14N_1_1, (argc > 3) ? argv[3] : NULL, NULL);
|
| } else if(strcmp(argv[1], "--exc-with-comments") == 0) {
|
| xmlChar **list;
|
|
|
| /* load exclusive namespace from command line */
|
| list = (argc > 4) ? parse_list((xmlChar *)argv[4]) : NULL;
|
| - ret = test_c14n(argv[2], 1, 1, (argc > 3) ? argv[3] : NULL, list);
|
| + ret = test_c14n(argv[2], 1, XML_C14N_EXCLUSIVE_1_0, (argc > 3) ? argv[3] : NULL, list);
|
| if(list != NULL) xmlFree(list);
|
| } else if(strcmp(argv[1], "--exc-without-comments") == 0) {
|
| xmlChar **list;
|
|
|
| /* load exclusive namespace from command line */
|
| list = (argc > 4) ? parse_list((xmlChar *)argv[4]) : NULL;
|
| - ret = test_c14n(argv[2], 0, 1, (argc > 3) ? argv[3] : NULL, list);
|
| + ret = test_c14n(argv[2], 0, XML_C14N_EXCLUSIVE_1_0, (argc > 3) ? argv[3] : NULL, list);
|
| if(list != NULL) xmlFree(list);
|
| } else {
|
| fprintf(stderr, "Error: bad option.\n");
|
| @@ -162,7 +170,7 @@ int main(int argc, char **argv) {
|
| */
|
| xmlCleanupParser();
|
| xmlMemoryDump();
|
| -
|
| +
|
| return((ret >= 0) ? 0 : 1);
|
| }
|
|
|
| @@ -172,7 +180,7 @@ int main(int argc, char **argv) {
|
| #define growBufferReentrant() { \
|
| buffer_size *= 2; \
|
| buffer = (xmlChar **) \
|
| - xmlRealloc(buffer, buffer_size * sizeof(xmlChar*)); \
|
| + xmlRealloc(buffer, buffer_size * sizeof(xmlChar*)); \
|
| if (buffer == NULL) { \
|
| perror("realloc failed"); \
|
| return(NULL); \
|
| @@ -194,7 +202,6 @@ parse_list(xmlChar *str) {
|
| if((str[0] == '\'') && (str[len - 1] == '\'')) {
|
| str[len - 1] = '\0';
|
| str++;
|
| - len -= 2;
|
| }
|
| /*
|
| * allocate an translation buffer.
|
| @@ -206,7 +213,7 @@ parse_list(xmlChar *str) {
|
| return(NULL);
|
| }
|
| out = buffer;
|
| -
|
| +
|
| while(*str != '\0') {
|
| if (out - buffer > buffer_size - 10) {
|
| int indx = out - buffer;
|
|
|