You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by tr...@locus.apache.org on 2000/08/30 03:46:04 UTC

cvs commit: apache-2.0/src/ap ap_buckets_pipe.c

trawick     00/08/29 18:46:03

  Modified:    src/ap   ap_buckets_pipe.c
  Log:
  Fix pipe_read() so that it doesn't return the address of its autodata
  to the caller.  Instead, return the address of the buffer allocated by
  ap_bucket_make_heap().
  
  Revision  Changes    Path
  1.3       +5 -1      apache-2.0/src/ap/ap_buckets_pipe.c
  
  Index: ap_buckets_pipe.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/ap/ap_buckets_pipe.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ap_buckets_pipe.c	2000/08/25 22:18:14	1.2
  +++ ap_buckets_pipe.c	2000/08/30 01:46:03	1.3
  @@ -81,12 +81,16 @@
       if ((rv = apr_read(bd->thepipe, buf, len)) != APR_SUCCESS) {
           return rv;
       }
  -    *str = buf;
       if (*len > 0) {
           l = *len;
           a = ap_bucket_create_pipe(bd->thepipe);
           
  +        /* XXX ap_bucket_make_heap() can decide not to copy all our data;
  +         * either handle it here or ensure that IOBUFSIZE < 
  +         * DEFAULT_BUCKET_SIZE;
  +         */
           b = ap_bucket_make_heap(b, buf, l, 1, &toss);
  +        b->read(b, str, len, block); /* set str to new location of data */
   
           b->next->prev = a;
           a->next = b->next;