tried to fix some of the problem with --sgml Daniel
* xmlcatalog.c: tried to fix some of the problem with --sgml
Daniel
diff --git a/ChangeLog b/ChangeLog
index 2c9f802..efa005a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Oct 22 16:23:57 CEST 2002 Daniel Veillard <daniel@veillard.com>
+
+ * xmlcatalog.c: tried to fix some of the problem with --sgml
+
Mon Oct 21 09:57:10 CEST 2002 Daniel Veillard <daniel@veillard.com>
* parser.c: tried to fix bug #91500 where doc->children may
diff --git a/xmlcatalog.c b/xmlcatalog.c
index 37969f0..5b6ceaf 100644
--- a/xmlcatalog.c
+++ b/xmlcatalog.c
@@ -210,11 +210,17 @@
}
} else if (!strcmp(command, "add")) {
if (sgml) {
- if (nbargs != 1) {
- printf("add requires 1 argument\n");
+ if ((nbargs != 3) && (nbargs != 2)) {
+ printf("add requires 2 or 3 arguments\n");
} else {
- ret = xmlCatalogAdd(BAD_CAST "sgmlcatalog", NULL,
- BAD_CAST argv[0]);
+ if (argv[2] == NULL)
+ ret = xmlCatalogAdd(BAD_CAST argv[0], NULL,
+ BAD_CAST argv[1]);
+ else
+ ret = xmlCatalogAdd(BAD_CAST argv[0], BAD_CAST argv[1],
+ BAD_CAST argv[2]);
+ if (ret != 0)
+ printf("add command failed\n");
}
} else {
if ((nbargs != 3) && (nbargs != 2)) {
@@ -382,12 +388,10 @@
} else if (argv[i][0] == '-')
continue;
filename = argv[i];
- if (!sgml) {
ret = xmlLoadCatalog(argv[i]);
if ((ret < 0) && (create)) {
xmlCatalogAdd(BAD_CAST "catalog", BAD_CAST argv[i], NULL);
}
- }
break;
}