apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brad Nicholes" <BNICHO...@novell.com>
Subject Re: cvs commit: apr/file_io/win32 filedup.c
Date Mon, 22 Sep 2003 17:25:53 GMT
  NetWare uses the Unix implementation of apr_file_dup() and
apr_file_dup2().  There is not a NetWare specific implementation of
these functions.  After looking at the apr_file_t structures for Unix
and NetWare, and comparing them to the initialization that is done in
the functions, it appears that the only missing initialization is 

is_pipe
flags     (if not dup2 call)
timeout

Is there a reason why these fields would not be set to the original
values after a call to apr_file_dup() or apr_file_dup2()?

Brad

Brad Nicholes
Senior Software Engineer
Novell, Inc., the leading provider of Net business solutions
http://www.novell.com 

>>> Stas Bekman <stas@stason.org> Saturday, September 20, 2003 3:11:08
AM >>>
stas@apache.org 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 <cmpilato@collab.net>, 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:stas@stason.org http://use.perl.org http://apacheweek.com 
http://modperlbook.org http://apache.org   http://ticketmaster.com 


Mime
View raw message