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/