You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by fi...@apache.org on 2003/01/24 20:24:24 UTC

cvs commit: apr/include apr_file_io.h

fitz        2003/01/24 11:24:24

  Modified:    include  apr_file_io.h
  Log:
  No code changes.  Augment documentation for apr_file_open_std*.
  Thanks for Ryan Bloom (rbb@rkbloom.net) for the enlightenment.
  
  Revision  Changes    Path
  1.136     +30 -0     apr/include/apr_file_io.h
  
  Index: apr_file_io.h
  ===================================================================
  RCS file: /home/cvs/apr/include/apr_file_io.h,v
  retrieving revision 1.135
  retrieving revision 1.136
  diff -u -r1.135 -r1.136
  --- apr_file_io.h	1 Jan 2003 00:01:45 -0000	1.135
  +++ apr_file_io.h	24 Jan 2003 19:24:24 -0000	1.136
  @@ -275,6 +275,16 @@
    * @param thefile The apr file to use as stderr.
    * @param cont The pool to allocate the file out of.
    * @ingroup apr_file_open
  + * 
  + * @remark The only reason that the apr_file_open_std* functions exist
  + * is that you may not always have a stderr/out/in on Windows.  This
  + * is generally a problem with newer versions of Windows and services.
  + * 
  + * The other problem is that the C library functions generally work
  + * differently on Windows and Unix.  So, by using apr_file_open_std*
  + * functions, you can get a handle to an APR struct that works with
  + * the APR functions which are supposed to work identically on all
  + * platforms.
    */
   APR_DECLARE(apr_status_t) apr_file_open_stderr(apr_file_t **thefile,
                                             apr_pool_t *cont);
  @@ -284,6 +294,16 @@
    * @param thefile The apr file to use as stdout.
    * @param cont The pool to allocate the file out of.
    * @ingroup apr_file_open
  + * 
  + * @remark The only reason that the apr_file_open_std* functions exist
  + * is that you may not always have a stderr/out/in on Windows.  This
  + * is generally a problem with newer versions of Windows and services.
  + * 
  + * The other problem is that the C library functions generally work
  + * differently on Windows and Unix.  So, by using apr_file_open_std*
  + * functions, you can get a handle to an APR struct that works with
  + * the APR functions which are supposed to work identically on all
  + * platforms.
    */
   APR_DECLARE(apr_status_t) apr_file_open_stdout(apr_file_t **thefile,
                                             apr_pool_t *cont);
  @@ -293,6 +313,16 @@
    * @param thefile The apr file to use as stdin.
    * @param cont The pool to allocate the file out of.
    * @ingroup apr_file_open
  + * 
  + * @remark The only reason that the apr_file_open_std* functions exist
  + * is that you may not always have a stderr/out/in on Windows.  This
  + * is generally a problem with newer versions of Windows and services.
  + * 
  + * The other problem is that the C library functions generally work
  + * differently on Windows and Unix.  So, by using apr_file_open_std*
  + * functions, you can get a handle to an APR struct that works with
  + * the APR functions which are supposed to work identically on all
  + * platforms.
    */
   APR_DECLARE(apr_status_t) apr_file_open_stdin(apr_file_t **thefile,
                                                 apr_pool_t *cont);
  
  
  

Re: cvs commit: apr/include apr_file_io.h

Posted by Branko Čibej <br...@xbc.nu>.
fitz@apache.org wrote:

>  + * @remark The only reason that the apr_file_open_std* functions exist
>  + * is that you may not always have a stderr/out/in on Windows.
>
Huh? I thought the reason these functions exist is that otherwise you'd
have no portable way of getting a standard i/o handle that was an
apr_os_file_t. Which is a HANDLE on Windows, not an int, and
stdin/out/err aren't 0, 1 and 2, unlike Unix.

>  This
>  + * is generally a problem with newer versions of Windows and services.
>  + * 
>  + * The other problem is that the C library functions generally work
>  + * differently on Windows and Unix.  So, by using apr_file_open_std*
>  + * functions, you can get a handle to an APR struct that works with
>  + * the APR functions which are supposed to work identically on all
>  + * platforms.
>  
>
Yes, and the third "problem" is that APR on Windows doesn't use C file
functions, nor POSIX ones, it uses Win32 functions -- thank the gods --
and that's why apr_os_file_t exists.


-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/