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 2008/08/27 07:27:12 UTC

svn commit: r689360 - /apr/apr/trunk/include/apr_want.h

Author: jerenkrantz
Date: Tue Aug 26 22:27:11 2008
New Revision: 689360

URL: http://svn.apache.org/viewvc?rev=689360&view=rev
Log:
Win32: Match the type of our custom iovec's iov_base to match Unix's type.

* include/apr_want.h
  (struct iovec.iov_base): Have our fake iovec structure match the Unix type
  definition of iov_base by being a void* not a char*.

Modified:
    apr/apr/trunk/include/apr_want.h

Modified: apr/apr/trunk/include/apr_want.h
URL: http://svn.apache.org/viewvc/apr/apr/trunk/include/apr_want.h?rev=689360&r1=689359&r2=689360&view=diff
==============================================================================
--- apr/apr/trunk/include/apr_want.h (original)
+++ apr/apr/trunk/include/apr_want.h Tue Aug 26 22:27:11 2008
@@ -91,7 +91,7 @@
 
 struct iovec
 {
-    char *iov_base;
+    void *iov_base;
     size_t iov_len;
 };
 



Re: svn commit: r689360 - /apr/apr/trunk/include/apr_want.h

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
On Wed, Aug 27, 2008 at 5:55 AM, William A. Rowe, Jr.
<wr...@rowe-clan.net> wrote:
> That's a binary breakage and a compile time breakage, and when describing
> "unix" you aren't clarifying which compiler.  I wouldn't assume all are
> void*, have you researched?

Linux, FreeBSD, Solaris, and Darwin all declare iovec as void*.

So, on Win32 (or any platform without uio.h), this wrong definition
leads to portability headaches as we have to explicitly cast to char*
because we declared the wrong type on Win32.  =(  It really should
have been void* from the beginning.  -- justin

Re: svn commit: r689360 - /apr/apr/trunk/include/apr_want.h

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
That's a binary breakage and a compile time breakage, and when describing
"unix" you aren't clarifying which compiler.  I wouldn't assume all are
void*, have you researched?

Please @bug this if you want it corrected when 2.0 branches.

Bill

jerenkrantz@apache.org wrote:
> Author: jerenkrantz
> Date: Tue Aug 26 22:27:11 2008
> New Revision: 689360
> 
> URL: http://svn.apache.org/viewvc?rev=689360&view=rev
> Log:
> Win32: Match the type of our custom iovec's iov_base to match Unix's type.
> 
> * include/apr_want.h
>   (struct iovec.iov_base): Have our fake iovec structure match the Unix type
>   definition of iov_base by being a void* not a char*.
> 
> Modified:
>     apr/apr/trunk/include/apr_want.h
> 
> Modified: apr/apr/trunk/include/apr_want.h
> URL: http://svn.apache.org/viewvc/apr/apr/trunk/include/apr_want.h?rev=689360&r1=689359&r2=689360&view=diff
> ==============================================================================
> --- apr/apr/trunk/include/apr_want.h (original)
> +++ apr/apr/trunk/include/apr_want.h Tue Aug 26 22:27:11 2008
> @@ -91,7 +91,7 @@
>  
>  struct iovec
>  {
> -    char *iov_base;
> +    void *iov_base;
>      size_t iov_len;
>  };
>  
> 
> 
> 
>