jim         99/05/23 09:55:30

  Modified:    src      Configure
               src/ap   ap_snprintf.c
  Log:
  What the hell, we can determine the size of void *
  so just avoid any warnings in snprintf.c
  
  Revision  Changes    Path
  1.348     +39 -8     apache-1.3/src/Configure
  
  Index: Configure
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/Configure,v
  retrieving revision 1.347
  retrieving revision 1.348
  diff -u -r1.347 -r1.348
  --- Configure 1999/05/21 23:57:48     1.347
  +++ Configure 1999/05/23 16:55:28     1.348
  @@ -1847,14 +1847,17 @@
   ####################################################################
   ## More building ap_config_auto.h
   ##
  -## We check to see if this OS and/or compiler supports long-long
  +## We check the sizeof various data types
   ##
  -echo " + checking for the long long data type"
  -if ./helpers/TestCompile sizeof "long long"; then
  -    AP_LONGEST_LONG="long long"
  -else
  +echo " + checking sizeof various data types"
  +AP_TYPE_QUAD=`./helpers/TestCompile -r sizeof 'long long'`
  +if [ "x$AP_TYPE_QUAD" = "x" ]; then
  +    AP_TYPE_QUAD="unknown_quad"
       AP_LONGEST_LONG="long"
  +else
  +    AP_LONGEST_LONG="long long"
   fi
  +
   echo "" >>$AP_CONFIG_AUTO_H
   echo "/* determine: longest possible integer type */" >>$AP_CONFIG_AUTO_H
   echo "#ifndef AP_LONGEST_LONG" >>$AP_CONFIG_AUTO_H
  @@ -1864,11 +1867,17 @@
   ##
   ## Now compare the sizes of off_t to long
   ##
  -echo " + determining if off_t is quad or long"
   AP_TYPE_OFF_T=`./helpers/TestCompile -r sizeof off_t`
  +if [ "x$AP_TYPE_OFF_T" = "x" ]; then
  +    AP_TYPE_OFF_T="unknown_off_t"
  +fi
  +
   AP_TYPE_LONG=`./helpers/TestCompile -r sizeof long`
  -if [ "x$AP_TYPE_OFF_T" != "x" ] && [ "x$AP_TYPE_OFF_T" != "x$AP_TYPE_LONG" ]
  -then
  +if [ "x$AP_TYPE_LONG" = "x" ]; then
  +    AP_TYPE_LONG="unknown_long"
  +fi
  +
  +if [ "x$AP_TYPE_OFF_T" != "x$AP_TYPE_LONG" ]; then
       echo "" >>$AP_CONFIG_AUTO_H
       echo "/* determine: is off_t a quad */" >>$AP_CONFIG_AUTO_H
       echo "#ifndef AP_OFF_T_IS_QUAD" >>$AP_CONFIG_AUTO_H
  @@ -1879,6 +1888,28 @@
       echo "/* determine: is off_t a quad */" >>$AP_CONFIG_AUTO_H
       echo "#ifndef AP_OFF_T_IS_QUAD" >>$AP_CONFIG_AUTO_H
       echo "#undef AP_OFF_T_IS_QUAD" >>$AP_CONFIG_AUTO_H
  +    echo "#endif" >>$AP_CONFIG_AUTO_H
  +fi
  +
  +##
  +## Now see of void * is as big as a quad (long long)
  +##
  +AP_TYPE_VOID_P=`./helpers/TestCompile -r sizeof 'void *'`
  +if [ "x$AP_TYPE_VOID_P" = "x" ]; then
  +    AP_TYPE_VOID_P="unknown_void_p"
  +fi
  +
  +if [ "x$AP_TYPE_VOID_P" = "x$AP_TYPE_QUAD" ]; then
  +    echo "" >>$AP_CONFIG_AUTO_H
  +    echo "/* determine: is void * a quad */" >>$AP_CONFIG_AUTO_H
  +    echo "#ifndef AP_VOID_P_IS_QUAD" >>$AP_CONFIG_AUTO_H
  +    echo "#define AP_VOID_P_IS_QUAD 1" >>$AP_CONFIG_AUTO_H
  +    echo "#endif" >>$AP_CONFIG_AUTO_H
  +else
  +    echo "" >>$AP_CONFIG_AUTO_H
  +    echo "/* determine: is void * a quad */" >>$AP_CONFIG_AUTO_H
  +    echo "#ifndef AP_VOID_P_IS_QUAD" >>$AP_CONFIG_AUTO_H
  +    echo "#undef AP_VOID_P_IS_QUAD" >>$AP_CONFIG_AUTO_H
       echo "#endif" >>$AP_CONFIG_AUTO_H
   fi
   
  
  
  
  1.34      +10 -10    apache-1.3/src/ap/ap_snprintf.c
  
  Index: ap_snprintf.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/ap/ap_snprintf.c,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- ap_snprintf.c     1999/05/22 11:24:41     1.33
  +++ ap_snprintf.c     1999/05/23 16:55:29     1.34
  @@ -998,22 +998,22 @@
                     * If the pointer size is equal to or smaller than the size
                     * of the largest unsigned int, we convert the pointer to a
                     * hex number, otherwise we print "%p" to indicate that we
  -                  * don't handle "%p". Note that depending on the
  -                  * sizes of the various pointers and u_wide_int
  -                  * and u_widest_int, gcc will warn about the
  -                  * assignments, but we are actually OK.
  +                  * don't handle "%p".
                     */
                case 'p':
  -                 if (sizeof(char *) <= sizeof(u_wide_int)) {
  -                     ui_num = (u_wide_int) va_arg(ap, void *);
  -                     s = conv_p2(ui_num, 4, 'x',
  -                             &num_buf[NUM_BUF_SIZE], &s_len);
  -                 }
  -                 else if (sizeof(char *) <= sizeof(u_widest_int)) {
  +#ifdef AP_VOID_P_IS_QUAD
  +                 if (sizeof(void *) <= sizeof(u_widest_int)) {
                        ui_quad = (u_widest_int) va_arg(ap, void *);
                        s = conv_p2_quad(ui_quad, 4, 'x',
                                &num_buf[NUM_BUF_SIZE], &s_len);
                    }
  +#else
  +                 if (sizeof(void *) <= sizeof(u_wide_int)) {
  +                     ui_num = (u_wide_int) va_arg(ap, void *);
  +                     s = conv_p2(ui_num, 4, 'x',
  +                             &num_buf[NUM_BUF_SIZE], &s_len);
  +                 }
  +#endif
                    else {
                        s = "%p";
                        s_len = 2;
  
  
  

Reply via email to