One comment: I am curious if we should force the casts to
unsigned longs, instead of signed longs. This would be more
logical. Ideally, a typedef would also make things self-documenting
(ap_ptrint_conv_t or whatever), but that's nit picking. I do think
the error message is wrong though :)

In any case, the below is enough for me to withhold my veto, so +1

Colm MacCarthaigh wrote:
> 
> On Mon, Oct 03, 2005 at 08:38:02AM -0400, Jim Jagielski wrote:
> > At the very last, if we are "assuming" behavior which is specifically
> > implementation dependent, then a test during configure time that
> > ensures sizeof(void *) <= sizeof(long) makes sense.
> > 
> > There is no room, IMO, for silent hidden assumptions in httpd.
> 
> How about;
> 
> Index: configure.in
> ===================================================================
> --- configure.in      (revision 293579)
> +++ configure.in      (working copy)
> @@ -32,6 +32,9 @@
>  dnl export expanded and relative configure argument variables
>  APACHE_EXPORT_ARGUMENTS
>  
> +dnl confirm that a void pointer is large enough to store a long integer
> +APACHE_CHECK_VOID_PTR_LEN
> +
>  dnl Save user-defined environment settings for later restoration
>  dnl
>  APR_SAVE_THE_ENVIRONMENT(CPPFLAGS)
> Index: acinclude.m4
> ===================================================================
> --- acinclude.m4      (revision 293579)
> +++ acinclude.m4      (working copy)
> @@ -570,3 +570,24 @@
>  undefine([ap_ckver_cvar])
>  undefine([ap_ckver_name])
>  ])
> +
> +dnl
> +dnl APACHE_CHECK_VOID_PTR_LEN
> +dnl
> +dnl Checks if the size of a void pointer is at least as big as a "long" 
> +dnl integer type.
> +dnl
> +AC_DEFUN([APACHE_CHECK_VOID_PTR_LEN], [
> +
> +AC_CACHE_CHECK([for void pointer length], [ap_void_ptr_lt_long],
> +[AC_TRY_RUN([
> +int main(void)
> +{
> +    return sizeof(void *) < sizeof(long); 
> +}], [ap_void_ptr_lt_long=yes], [ap_void_ptr_lt_long=no], 
> +    [ap_void_ptr_lt_long=no])])
> +
> +if test "$ap_void_ptr_lt_long" = "no"; then
> +    AC_MSG_ERROR([Size of "void *" is less than size of "int"])
> +fi
> +])
> -- 
> Colm MacCárthaigh                        Public Key: [EMAIL PROTECTED]
> 


-- 
=======================================================================
 Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   http://www.jaguNET.com/
           "If you can dodge a wrench, you can dodge a ball."

Reply via email to