closing bug #62711, the library should never close stdin or stdout. Daniel
* xmlIO.c: closing bug #62711, the library should never
close stdin or stdout.
Daniel
diff --git a/ChangeLog b/ChangeLog
index 7aafa2c..c84fd18 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Oct 30 11:31:19 CET 2001 Daniel Veillard <daniel@veillard.com>
+
+ * xmlIO.c: closing bug #62711, the library should never
+ close stdin or stdout.
+
Tue Oct 30 10:46:12 CET 2001 Daniel Veillard <daniel@veillard.com>
* uri.c: second pass at fixing #63336, using Joel Young
diff --git a/xmlIO.c b/xmlIO.c
index fac9132..ceb9c4f 100644
--- a/xmlIO.c
+++ b/xmlIO.c
@@ -392,6 +392,13 @@
*/
static int
xmlFileClose (void * context) {
+ FILE *fil;
+
+ fil = (FILE *) context;
+ if (fil == stdin)
+ return(0);
+ if (fil == stdout)
+ return(0);
return ( ( fclose((FILE *) context) == EOF ) ? -1 : 0 );
}
@@ -440,7 +447,7 @@
gzFile fd;
if (!strcmp(filename, "-")) {
- fd = gzdopen(fileno(stdin), "rb");
+ fd = gzdopen(dup(0), "rb");
return((void *) fd);
}
@@ -482,7 +489,7 @@
sprintf(mode, "wb%d", compression);
if (!strcmp(filename, "-")) {
- fd = gzdopen(1, mode);
+ fd = gzdopen(dup(1), mode);
return((void *) fd);
}