You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by je...@apache.org on 2006/07/12 04:09:06 UTC

svn commit: r421075 - in /apr/apr/trunk: configure.in include/apr.h.in include/apr.hw include/apr_want.h

Author: jerenkrantz
Date: Tue Jul 11 19:09:05 2006
New Revision: 421075

URL: http://svn.apache.org/viewvc?rev=421075&view=rev
Log:
Define struct iovec for mingw.

This patch also moves the iovec 'workaround' from apr.hw into apr_want.h too.

Originally titled: [patch 09/17] struct iovec

Submitted by: John Mark Vandenberg
Reviewed by: Justin Erenkrantz

Modified:
    apr/apr/trunk/configure.in
    apr/apr/trunk/include/apr.h.in
    apr/apr/trunk/include/apr.hw
    apr/apr/trunk/include/apr_want.h

Modified: apr/apr/trunk/configure.in
URL: http://svn.apache.org/viewvc/apr/apr/trunk/configure.in?rev=421075&r1=421074&r2=421075&view=diff
==============================================================================
--- apr/apr/trunk/configure.in (original)
+++ apr/apr/trunk/configure.in Tue Jul 11 19:09:05 2006
@@ -1406,6 +1406,13 @@
         ;;
 esac
 
+APR_CHECK_SIZEOF_EXTENDED([#include <sys/uio.h>],struct iovec,0)
+if test "$ac_cv_sizeof_struct_iovec" = "0"; then
+    have_iovec=0
+else
+    have_iovec=1
+fi
+
 AC_SUBST(voidp_size)
 AC_SUBST(short_value)
 AC_SUBST(int_value)
@@ -1427,6 +1434,7 @@
 AC_SUBST(stdint) 
 AC_SUBST(bigendian)
 AC_SUBST(aprlfs)
+AC_SUBST(have_iovec)
 
 dnl ----------------------------- Checking for string functions
 AC_CHECK_FUNCS(strnicmp, have_strnicmp="1", have_strnicmp="0")

Modified: apr/apr/trunk/include/apr.h.in
URL: http://svn.apache.org/viewvc/apr/apr/trunk/include/apr.h.in?rev=421075&r1=421074&r2=421075&view=diff
==============================================================================
--- apr/apr/trunk/include/apr.h.in (original)
+++ apr/apr/trunk/include/apr.h.in Tue Jul 11 19:09:05 2006
@@ -220,6 +220,7 @@
 #define APR_HAVE_STRUCT_RLIMIT  @struct_rlimit@
 #define APR_HAVE_UNION_SEMUN    @have_union_semun@
 #define APR_HAVE_SCTP           @have_sctp@
+#define APR_HAVE_IOVEC          @have_iovec@
 
 /*  APR Feature Macros */
 #define APR_HAS_SHARED_MEMORY     @sharedmem@

Modified: apr/apr/trunk/include/apr.hw
URL: http://svn.apache.org/viewvc/apr/apr/trunk/include/apr.hw?rev=421075&r1=421074&r2=421075&view=diff
==============================================================================
--- apr/apr/trunk/include/apr.hw (original)
+++ apr/apr/trunk/include/apr.hw Tue Jul 11 19:09:05 2006
@@ -487,10 +487,7 @@
 typedef int apr_wait_t;
 
 /* struct iovec is needed to emulate Unix writev */
-struct iovec {
-    char*      iov_base;
-    apr_size_t iov_len;
-};
+#define APR_HAVE_IOVEC 0
 
 /* Nasty Win32 .h ommissions we really need */
 #define STDIN_FILENO  0

Modified: apr/apr/trunk/include/apr_want.h
URL: http://svn.apache.org/viewvc/apr/apr/trunk/include/apr_want.h?rev=421075&r1=421074&r2=421075&view=diff
==============================================================================
--- apr/apr/trunk/include/apr_want.h (original)
+++ apr/apr/trunk/include/apr_want.h Tue Jul 11 19:09:05 2006
@@ -81,9 +81,27 @@
 
 #ifdef APR_WANT_IOVEC
 
+#if APR_HAVE_IOVEC
+
 #if APR_HAVE_SYS_UIO_H
 #include <sys/uio.h>
 #endif
+
+#else
+
+struct iovec
+{
+    char *iov_base;
+    int iov_len;
+};
+
+#endif
+
+/* apr_want is included at several layers; redefining APR_HAVE_IOVEC
+ * now to ensure that our struct is not introduced several times.
+ */
+#undef APR_HAVE_IOVEC
+#define APR_HAVE_IOVEC 1
 
 #undef APR_WANT_IOVEC
 #endif