You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by Marc Slemko <ma...@hyperreal.com> on 1997/02/08 02:33:58 UTC
cvs commit: apache/src CHANGES util_snprintf.c
marc 97/02/07 17:33:58
Modified: src CHANGES util_snprintf.c
Log:
Fix ap_snprintf() printing of unsigned ints on Alpha chips. (64-bit
processor, but uses 32-bit ints)
Reviewed by: Marc Slemko, Dean Gaudet, Jim Jagielski
Submitted by: Dean Gaudet and Rodent of Unusual Size <co...@decus.org>
Revision Changes Path
1.149 +4 -0 apache/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache/src/CHANGES,v
retrieving revision 1.148
retrieving revision 1.149
diff -C3 -r1.148 -r1.149
*** CHANGES 1997/02/08 00:44:03 1.148
--- CHANGES 1997/02/08 01:33:56 1.149
***************
*** 1,5 ****
--- 1,9 ----
Changes with Apache 1.2b7
+ *) Fix handling of unsigned ints in ap_snprintf() on some chips such
+ as the DEC Alpha which is 64-bit but uses 32-bit ints.
+ [Dean Gaudet, Ken the Rodent]
+
*) Return a 302 response code to the client when sending a redirect
due to a missing trailing '/' on a directory instead of a 301; now
it is cacheable. [Markus Gyger]
1.5 +17 -4 apache/src/util_snprintf.c
Index: util_snprintf.c
===================================================================
RCS file: /export/home/cvs/apache/src/util_snprintf.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C3 -r1.4 -r1.5
*** util_snprintf.c 1997/01/20 23:55:11 1.4
--- util_snprintf.c 1997/02/08 01:33:56 1.5
***************
*** 671,683 ****
* It is reset to ' ' by non-numeric formats
*/
switch (*fmt) {
- case 'd':
- case 'i':
case 'u':
if (is_long)
! i_num = va_arg(ap, wide_int);
else
! i_num = (wide_int) va_arg(ap, int);
s = conv_10(i_num, (*fmt) == 'u', &is_negative,
&num_buf[NUM_BUF_SIZE], &s_len);
FIX_PRECISION(adjust_precision, precision, s, s_len);
--- 671,696 ----
* It is reset to ' ' by non-numeric formats
*/
switch (*fmt) {
case 'u':
if (is_long)
! i_num = va_arg(ap, u_wide_int);
else
! i_num = (wide_int) va_arg(ap, unsigned int);
! /*
! * The rest also applies to other integer formats, so fall
! * into that case.
! */
! case 'd':
! case 'i':
! /*
! * Get the arg if we haven't already.
! */
! if ((*fmt) != 'u') {
! if (is_long)
! i_num = va_arg(ap, wide_int);
! else
! i_num = (wide_int) va_arg(ap, int);
! };
s = conv_10(i_num, (*fmt) == 'u', &is_negative,
&num_buf[NUM_BUF_SIZE], &s_len);
FIX_PRECISION(adjust_precision, precision, s, s_len);