You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Stas Bekman <st...@stason.org> on 2002/06/18 19:45:25 UTC
[PATCH seek.c] apr_file_seek doesn't reset eof_hit to 0
the following pseudo-code was failing with the current apr:
apr_file_read(...) // read full so eof is hit
apr_file_seek(..., 0, 0) // rewind
apr_file_eof // should return 0
apr_file_eof isn't supposed to return true, after the file was seek()ed.
Here is the patch (thanks to wrowe for the hint!):
tested on unix, please check that it's the same on other platforms.
Index: srclib/apr/file_io/os2/seek.c
===================================================================
RCS file: /home/cvspublic/apr/file_io/os2/seek.c,v
retrieving revision 1.20
diff -u -r1.20 seek.c
--- srclib/apr/file_io/os2/seek.c 13 Mar 2002 20:39:10 -0000 1.20
+++ srclib/apr/file_io/os2/seek.c 18 Jun 2002 17:40:09 -0000
@@ -91,6 +91,8 @@
return APR_EBADF;
}
+ thefile->eof_hit = 0;
+
if (thefile->buffered) {
int rc = EINVAL;
apr_finfo_t finfo;
Index: srclib/apr/file_io/unix/seek.c
===================================================================
RCS file: /home/cvspublic/apr/file_io/unix/seek.c,v
retrieving revision 1.26
diff -u -r1.26 seek.c
--- srclib/apr/file_io/unix/seek.c 13 Mar 2002 20:39:11 -0000 1.26
+++ srclib/apr/file_io/unix/seek.c 18 Jun 2002 17:40:09 -0000
@@ -90,6 +90,7 @@
{
apr_off_t rv;
+ thefile->eof_hit = 0;
if (thefile->buffered) {
int rc = EINVAL;
Index: srclib/apr/file_io/win32/seek.c
===================================================================
RCS file: /home/cvspublic/apr/file_io/win32/seek.c,v
retrieving revision 1.23
diff -u -r1.23 seek.c
--- srclib/apr/file_io/win32/seek.c 14 Mar 2002 22:22:32 -0000 1.23
+++ srclib/apr/file_io/win32/seek.c 18 Jun 2002 17:40:09 -0000
@@ -96,6 +96,8 @@
apr_finfo_t finfo;
apr_status_t rc = APR_SUCCESS;
+ thefile->eof_hit = 0;
+
if (thefile->buffered) {
switch (where) {
case APR_SET:
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com