randyk      2003/07/04 19:35:21

  Modified:    Request  Request.xs
  Log:
  Reviewed by:  joes
  Open uploaded files with binary mode, so as to properly get sizes
  on platforms like Win32 where it makes a difference.
  
  Revision  Changes    Path
  1.37      +16 -16    httpd-apreq/Request/Request.xs
  
  Index: Request.xs
  ===================================================================
  RCS file: /home/cvs/httpd-apreq/Request/Request.xs,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- Request.xs        25 Jun 2003 07:59:37 -0000      1.36
  +++ Request.xs        5 Jul 2003 02:35:20 -0000       1.37
  @@ -533,7 +533,7 @@
       if (fd < 0) 
           XSRETURN_UNDEF;
   
  -    if ( !(RETVAL = PerlIO_fdopen(fd, "r")) )
  +    if ( !(RETVAL = PerlIO_fdopen(fd, "rb")) )
        XSRETURN_UNDEF;
   #else
       if (  ( RETVAL = PerlIO_importFILE(fp,0) ) == NULL  )
  @@ -547,25 +547,25 @@
       /* XXX: there may be a leak/segfault in here somewhere */
   #if PERL_REVISION == 5 && PERL_VERSION > 7
       if (ST(0) != &PL_sv_undef) {
  -     IO *io = GvIOn((GV*)SvRV(ST(0)));
  -     if (upload->req->parsed)
  -         PerlIO_seek(IoIFP(io), 0, 0);
  +        IO *io = GvIOn((GV*)SvRV(ST(0)));
  +        if (upload->req->parsed)
  +            PerlIO_seek(IoIFP(io), 0, 0);
       }
   #else
  -   if (ST(0) != &PL_sv_undef) {
  -     IO *io = GvIOn((GV*)SvRV(ST(0)));
  -     int fd = PerlIO_fileno(IoIFP(io));
  -     PerlIO *fp;
  +    if (ST(0) != &PL_sv_undef) {
  +        IO *io = GvIOn((GV*)SvRV(ST(0)));
  +        int fd = PerlIO_fileno(IoIFP(io));
  +        PerlIO *fp;
   
  -     fd = PerlLIO_dup(fd);
  -     if (!(fp = PerlIO_fdopen(fd, "r"))) { 
  -         PerlLIO_close(fd);
  -         croak("fdopen failed!");
  -     }
  -     if (upload->req->parsed)
  -         PerlIO_seek(fp, 0, 0);
  +        fd = PerlLIO_dup(fd);
  +        if (!(fp = PerlIO_fdopen(fd, "rb"))) { 
  +            PerlLIO_close(fd);
  +            croak("fdopen failed!");
  +        }
  +        if (upload->req->parsed)
  +            PerlIO_seek(fp, 0, 0);
   
  -     IoIFP(io) = fp;         
  +        IoIFP(io) = fp;      
       }
   #endif
   
  
  
  

Reply via email to