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
