You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Chia-liang Kao <cl...@CirX.ORG> on 2000/04/27 12:57:25 UTC

[PATCH] APR pipe fix

the reader of the pipe always get a \0 prefixed in the buffer,
because of not setting ap_file_t->ungetchar to -1

Index: file_io/os2/pipe.c
===================================================================
RCS file: /home/apache/REPOS/apache-2.0/src/lib/apr/file_io/os2/pipe.c,v
retrieving revision 1.16
diff -u -r1.16 pipe.c
--- file_io/os2/pipe.c	2000/04/18 15:01:04	1.16
+++ file_io/os2/pipe.c	2000/04/27 10:51:57
@@ -116,6 +116,7 @@
     (*in)->flags = 0;
     (*in)->pipe = 1;
     (*in)->timeout = -1;
+    (*in)->ungetchar = -1;
     ap_register_cleanup(cont, *in, apr_file_cleanup, ap_null_cleanup);
 
     (*out) = (ap_file_t *)ap_palloc(cont, sizeof(ap_file_t));
Index: file_io/unix/pipe.c
===================================================================
RCS file: /home/apache/REPOS/apache-2.0/src/lib/apr/file_io/unix/pipe.c,v
retrieving revision 1.28
diff -u -r1.28 pipe.c
--- file_io/unix/pipe.c	2000/04/21 14:51:22	1.28
+++ file_io/unix/pipe.c	2000/04/27 10:51:33
@@ -100,6 +100,7 @@
     (*in)->fname = ap_pstrdup(cont, "PIPE");
     (*in)->buffered = 0;
     (*in)->timeout = -1;
+    (*in)->ungetchar = -1;
 
     (*out) = (ap_file_t *)ap_palloc(cont, sizeof(ap_file_t));
     (*out)->cntxt = cont;
Index: file_io/win32/pipe.c
===================================================================
RCS file: /home/apache/REPOS/apache-2.0/src/lib/apr/file_io/win32/pipe.c,v
retrieving revision 1.14
diff -u -r1.14 pipe.c
--- file_io/win32/pipe.c	2000/04/20 17:21:31	1.14
+++ file_io/win32/pipe.c	2000/04/27 10:51:45
@@ -101,6 +101,7 @@
     (*in)->pipe = 1;
     (*in)->fname = ap_pstrdup(cont, "PIPE");
     (*in)->timeout = -1;
+    (*in)->ungetchar = -1;
 
     (*out) = (ap_file_t *)ap_pcalloc(cont, sizeof(ap_file_t));
     (*out)->cntxt = cont;