[EMAIL PROTECTED] wrote:
stas        2003/09/19 11:07:26

  Modified:    .        Tag: APR_0_9_BRANCH CHANGES
               file_io/win32 Tag: APR_0_9_BRANCH filedup.c
  Log:
  fix apr_file_dup() and apr_file_dup2() to dup the ungetchar member

There are no tests for apr_file* functions? netware

From a quick glance there are other fields which aren't dupped on win32, i haven't checked others. At least these fields seem to be missing:

  struct apr_file_t {
[...]
    BOOLEAN pipe;              // Is this a pipe of a file?
    OVERLAPPED *pOverlapped;
    apr_interval_time_t timeout;
[...]
    apr_finfo_t *finfo;

I don't know if they need to be dupped though.

I haven't checked other OSs, but netware seems to miss

  (*new_file)->ungetchar = old_file->ungetchar;

as well.

Revision Changes Path
No revision
No revision
1.426.2.2 +3 -0 apr/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/apr/CHANGES,v
retrieving revision 1.426.2.1
retrieving revision 1.426.2.2
diff -u -u -r1.426.2.1 -r1.426.2.2
--- CHANGES 17 Sep 2003 19:07:30 -0000 1.426.2.1
+++ CHANGES 19 Sep 2003 18:07:26 -0000 1.426.2.2
@@ -1,5 +1,8 @@
Changes with APR 0.9.4
+ *) win32: fix apr_file_dup() and apr_file_dup2() to dup the
+ ungetchar member [Stas Bekman]
+
*) Preserve leading '../' segments as when merging to an empty and
unrooted path - fixes a bug observed in SVN with Win32/Netware/OS2.
[Mike Pilato <[EMAIL PROTECTED]>, William Rowe]
No revision
No revision
1.54.2.1 +2 -0 apr/file_io/win32/filedup.c
Index: filedup.c
===================================================================
RCS file: /home/cvs/apr/file_io/win32/filedup.c,v
retrieving revision 1.54
retrieving revision 1.54.2.1
diff -u -u -r1.54 -r1.54.2.1
--- filedup.c 7 Jan 2003 00:52:53 -0000 1.54
+++ filedup.c 19 Sep 2003 18:07:26 -0000 1.54.2.1
@@ -81,6 +81,7 @@
(*new_file)->fname = apr_pstrdup(p, old_file->fname);
(*new_file)->append = old_file->append;
(*new_file)->buffered = FALSE;
+ (*new_file)->ungetchar = old_file->ungetchar;
apr_pool_cleanup_register((*new_file)->pool, (void *)(*new_file), file_cleanup,
apr_pool_cleanup_null);
@@ -150,6 +151,7 @@
new_file->fname = apr_pstrdup(new_file->pool, old_file->fname);
new_file->append = old_file->append;
new_file->buffered = FALSE;
+ new_file->ungetchar = old_file->ungetchar;
return APR_SUCCESS;
#endif /* !defined(_WIN32_WCE) */


--


__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com



Reply via email to