You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by da...@apache.org on 2007/06/29 17:11:33 UTC

svn commit: r551922 - /apr/apr/trunk/strings/apr_snprintf.c

Author: davi
Date: Fri Jun 29 08:11:32 2007
New Revision: 551922

URL: http://svn.apache.org/viewvc?view=rev&rev=551922
Log:
Early assignment of the to-be-converted number yields better code and avoids
ugly casts.

Modified:
    apr/apr/trunk/strings/apr_snprintf.c

Modified: apr/apr/trunk/strings/apr_snprintf.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/strings/apr_snprintf.c?view=diff&rev=551922&r1=551921&r2=551922
==============================================================================
--- apr/apr/trunk/strings/apr_snprintf.c (original)
+++ apr/apr/trunk/strings/apr_snprintf.c Fri Jun 29 08:11:32 2007
@@ -343,10 +343,9 @@
                      register apr_size_t *len)
 {
     register char *p = buf_end;
-    register u_wide_int magnitude;
+    register u_wide_int magnitude = num;
 
     if (is_unsigned) {
-        magnitude = (u_wide_int) num;
         *is_negative = FALSE;
     }
     else {
@@ -363,11 +362,8 @@
          */
         if (*is_negative) {
             wide_int t = num + 1;
-
             magnitude = ((u_wide_int) -t) + 1;
         }
-        else
-            magnitude = (u_wide_int) num;
     }
 
     /*
@@ -390,20 +386,19 @@
                      register apr_size_t *len)
 {
     register char *p = buf_end;
-    u_widest_int magnitude;
+    u_widest_int magnitude = num;
 
     /*
      * We see if we can use the faster non-quad version by checking the
      * number against the largest long value it can be. If <=, we
      * punt to the quicker version.
      */
-    if (((u_widest_int)num <= (u_widest_int)ULONG_MAX && is_unsigned) 
+    if ((magnitude <= ULONG_MAX && is_unsigned)
         || (num <= LONG_MAX && num >= LONG_MIN && !is_unsigned))
             return(conv_10( (wide_int)num, is_unsigned, is_negative,
                buf_end, len));
 
     if (is_unsigned) {
-        magnitude = (u_widest_int) num;
         *is_negative = FALSE;
     }
     else {
@@ -420,11 +415,8 @@
          */
         if (*is_negative) {
             widest_int t = num + 1;
-
             magnitude = ((u_widest_int) -t) + 1;
         }
-        else
-            magnitude = (u_widest_int) num;
     }
 
     /*