Index: third_party/libxml/src/xmlcatalog.c |
diff --git a/third_party/libxml/src/xmlcatalog.c b/third_party/libxml/src/xmlcatalog.c |
index 489509f5bf79a029a41fc5a5fdc2321bec4d0153..b9ed6a488bdf32a9bf6d1ba67eafa4f73051dc97 100644 |
--- a/third_party/libxml/src/xmlcatalog.c |
+++ b/third_party/libxml/src/xmlcatalog.c |
@@ -47,16 +47,16 @@ static char *filename = NULL; |
#endif |
/************************************************************************ |
- * * |
- * Shell Interface * |
- * * |
+ * * |
+ * Shell Interface * |
+ * * |
************************************************************************/ |
/** |
* xmlShellReadline: |
* @prompt: the prompt value |
* |
* Read a string |
- * |
+ * |
* Returns a pointer to it or NULL on EOF the caller is expected to |
* free the returned string. |
*/ |
@@ -157,7 +157,7 @@ static void usershell(void) { |
i++; |
cur++; |
} |
- } else if (*cur == '"') { |
+ } else if (*cur == '"') { |
cur++; |
argv[i] = cur; |
while ((*cur != 0) && (*cur != '"')) cur++; |
@@ -181,12 +181,13 @@ static void usershell(void) { |
/* |
* start interpreting the command |
*/ |
- if (!strcmp(command, "exit")) |
- break; |
- if (!strcmp(command, "quit")) |
- break; |
- if (!strcmp(command, "bye")) |
+ if (!strcmp(command, "exit") || |
+ !strcmp(command, "quit") || |
+ !strcmp(command, "bye")) { |
+ free(cmdline); |
break; |
+ } |
+ |
if (!strcmp(command, "public")) { |
if (nbargs != 1) { |
printf("public requires 1 arguments\n"); |
@@ -296,15 +297,15 @@ static void usershell(void) { |
printf("\tdebug: increase the verbosity level\n"); |
printf("\tquiet: decrease the verbosity level\n"); |
printf("\texit: quit the shell\n"); |
- } |
+ } |
free(cmdline); /* not xmlFree here ! */ |
} |
} |
/************************************************************************ |
- * * |
- * Main * |
- * * |
+ * * |
+ * Main * |
+ * * |
************************************************************************/ |
static void usage(const char *name) { |
/* split into 2 printf's to avoid overly long string (gcc warning) */ |
@@ -507,7 +508,7 @@ int main(int argc, char **argv) { |
exit_value = 2; |
noout = 0; |
} else { |
- |
+ |
xmlACatalogDump(super, out); |
fclose(out); |
} |
@@ -544,14 +545,14 @@ int main(int argc, char **argv) { |
} |
} |
} |
- |
+ |
} else if (shell) { |
usershell(); |
} else { |
for (i++; i < argc; i++) { |
xmlURIPtr uri; |
xmlChar *ans; |
- |
+ |
uri = xmlParseURI(argv[i]); |
if (uri == NULL) { |
ans = xmlCatalogResolvePublic((const xmlChar *) argv[i]); |