diff lib/strtod.c @ 12421:e8d2c6fc33ad

Use spaces for indentation, not tabs.
author Bruno Haible <bruno@clisp.org>
date Thu, 10 Dec 2009 20:28:30 +0100
parents 48eddbd8edd5
children f7842310a565
line wrap: on
line diff
--- a/lib/strtod.c	Thu Dec 10 19:15:51 2009 +0100
+++ b/lib/strtod.c	Thu Dec 10 20:28:30 2009 +0100
@@ -38,9 +38,9 @@
   /* The number so far.  */
   double num;
 
-  bool got_dot;			/* Found a decimal point.  */
-  bool got_digit;		/* Seen any digits.  */
-  bool hex = false;		/* Look for hex float exponent.  */
+  bool got_dot;                 /* Found a decimal point.  */
+  bool got_digit;               /* Seen any digits.  */
+  bool hex = false;             /* Look for hex float exponent.  */
 
   /* The exponent of the number.  */
   long int exponent;
@@ -75,114 +75,114 @@
       hex = true;
       s += 2;
       for (;; ++s)
-	{
-	  if (c_isxdigit (*s))
-	    {
-	      got_digit = true;
+        {
+          if (c_isxdigit (*s))
+            {
+              got_digit = true;
 
-	      /* Make sure that multiplication by 16 will not overflow.  */
-	      if (num > DBL_MAX / 16)
-		/* The value of the digit doesn't matter, since we have already
-		   gotten as many digits as can be represented in a `double'.
-		   This doesn't necessarily mean the result will overflow.
-		   The exponent may reduce it to within range.
+              /* Make sure that multiplication by 16 will not overflow.  */
+              if (num > DBL_MAX / 16)
+                /* The value of the digit doesn't matter, since we have already
+                   gotten as many digits as can be represented in a `double'.
+                   This doesn't necessarily mean the result will overflow.
+                   The exponent may reduce it to within range.
 
-		   We just need to record that there was another
-		   digit so that we can multiply by 16 later.  */
-		++exponent;
-	      else
-		num = ((num * 16.0)
-		       + (c_tolower (*s) - (c_isdigit (*s) ? '0' : 'a' - 10)));
+                   We just need to record that there was another
+                   digit so that we can multiply by 16 later.  */
+                ++exponent;
+              else
+                num = ((num * 16.0)
+                       + (c_tolower (*s) - (c_isdigit (*s) ? '0' : 'a' - 10)));
 
-	      /* Keep track of the number of digits after the decimal point.
-		 If we just divided by 16 here, we would lose precision.  */
-	      if (got_dot)
-		--exponent;
-	    }
-	  else if (!got_dot && *s == '.')
-	    /* Record that we have found the decimal point.  */
-	    got_dot = true;
-	  else
-	    /* Any other character terminates the number.  */
-	    break;
-	}
+              /* Keep track of the number of digits after the decimal point.
+                 If we just divided by 16 here, we would lose precision.  */
+              if (got_dot)
+                --exponent;
+            }
+          else if (!got_dot && *s == '.')
+            /* Record that we have found the decimal point.  */
+            got_dot = true;
+          else
+            /* Any other character terminates the number.  */
+            break;
+        }
     }
 
   /* Not a hex float.  */
   else
     {
       for (;; ++s)
-	{
-	  if (c_isdigit (*s))
-	    {
-	      got_digit = true;
+        {
+          if (c_isdigit (*s))
+            {
+              got_digit = true;
 
-	      /* Make sure that multiplication by 10 will not overflow.  */
-	      if (num > DBL_MAX * 0.1)
-		/* The value of the digit doesn't matter, since we have already
-		   gotten as many digits as can be represented in a `double'.
-		   This doesn't necessarily mean the result will overflow.
-		   The exponent may reduce it to within range.
+              /* Make sure that multiplication by 10 will not overflow.  */
+              if (num > DBL_MAX * 0.1)
+                /* The value of the digit doesn't matter, since we have already
+                   gotten as many digits as can be represented in a `double'.
+                   This doesn't necessarily mean the result will overflow.
+                   The exponent may reduce it to within range.
 
-		   We just need to record that there was another
-		   digit so that we can multiply by 10 later.  */
-		++exponent;
-	      else
-		num = (num * 10.0) + (*s - '0');
+                   We just need to record that there was another
+                   digit so that we can multiply by 10 later.  */
+                ++exponent;
+              else
+                num = (num * 10.0) + (*s - '0');
 
-	      /* Keep track of the number of digits after the decimal point.
-		 If we just divided by 10 here, we would lose precision.  */
-	      if (got_dot)
-		--exponent;
-	    }
-	  else if (!got_dot && *s == '.')
-	    /* Record that we have found the decimal point.  */
-	    got_dot = true;
-	  else
-	    /* Any other character terminates the number.  */
-	    break;
-	}
+              /* Keep track of the number of digits after the decimal point.
+                 If we just divided by 10 here, we would lose precision.  */
+              if (got_dot)
+                --exponent;
+            }
+          else if (!got_dot && *s == '.')
+            /* Record that we have found the decimal point.  */
+            got_dot = true;
+          else
+            /* Any other character terminates the number.  */
+            break;
+        }
     }
 
   if (!got_digit)
     {
       /* Check for infinities and NaNs.  */
       if (c_tolower (*s) == 'i'
-	  && c_tolower (s[1]) == 'n'
-	  && c_tolower (s[2]) == 'f')
-	{
-	  s += 3;
-	  num = HUGE_VAL;
-	  if (c_tolower (*s) == 'i'
-	      && c_tolower (s[1]) == 'n'
-	      && c_tolower (s[2]) == 'i'
-	      && c_tolower (s[3]) == 't'
-	      && c_tolower (s[4]) == 'y')
-	    s += 5;
-	  goto valid;
-	}
+          && c_tolower (s[1]) == 'n'
+          && c_tolower (s[2]) == 'f')
+        {
+          s += 3;
+          num = HUGE_VAL;
+          if (c_tolower (*s) == 'i'
+              && c_tolower (s[1]) == 'n'
+              && c_tolower (s[2]) == 'i'
+              && c_tolower (s[3]) == 't'
+              && c_tolower (s[4]) == 'y')
+            s += 5;
+          goto valid;
+        }
 #ifdef NAN
       else if (c_tolower (*s) == 'n'
-	       && c_tolower (s[1]) == 'a'
-	       && c_tolower (s[2]) == 'n')
-	{
-	  s += 3;
-	  num = NAN;
-	  /* Since nan(<n-char-sequence>) is implementation-defined,
-	     we define it by ignoring <n-char-sequence>.  A nicer
-	     implementation would populate the bits of the NaN
-	     according to interpreting n-char-sequence as a
-	     hexadecimal number, but the result is still a NaN.  */
-	  if (*s == '(')
-	    {
-	      const unsigned char *p = s + 1;
-	      while (c_isalnum (*p))
-		p++;
-	      if (*p == ')')
-		s = p + 1;
-	    }
-	  goto valid;
-	}
+               && c_tolower (s[1]) == 'a'
+               && c_tolower (s[2]) == 'n')
+        {
+          s += 3;
+          num = NAN;
+          /* Since nan(<n-char-sequence>) is implementation-defined,
+             we define it by ignoring <n-char-sequence>.  A nicer
+             implementation would populate the bits of the NaN
+             according to interpreting n-char-sequence as a
+             hexadecimal number, but the result is still a NaN.  */
+          if (*s == '(')
+            {
+              const unsigned char *p = s + 1;
+              while (c_isalnum (*p))
+                p++;
+              if (*p == ')')
+                s = p + 1;
+            }
+          goto valid;
+        }
 #endif
       goto noconv;
     }
@@ -198,21 +198,21 @@
       ++s;
       value = strtol ((char *) s, &end, 10);
       if (errno == ERANGE && num)
-	{
-	  /* The exponent overflowed a `long int'.  It is probably a safe
-	     assumption that an exponent that cannot be represented by
-	     a `long int' exceeds the limits of a `double'.  */
-	  if (endptr != NULL)
-	    *endptr = end;
-	  if (value < 0)
-	    goto underflow;
-	  else
-	    goto overflow;
-	}
+        {
+          /* The exponent overflowed a `long int'.  It is probably a safe
+             assumption that an exponent that cannot be represented by
+             a `long int' exceeds the limits of a `double'.  */
+          if (endptr != NULL)
+            *endptr = end;
+          if (value < 0)
+            goto underflow;
+          else
+            goto overflow;
+        }
       else if (end == (char *) s)
-	/* There was no exponent.  Reset END to point to
-	   the 'e' or 'E', so *ENDPTR will be set there.  */
-	end = (char *) s - 1;
+        /* There was no exponent.  Reset END to point to
+           the 'e' or 'E', so *ENDPTR will be set there.  */
+        end = (char *) s - 1;
       errno = save;
       s = (unsigned char *) end;
       exponent += value;
@@ -234,12 +234,12 @@
   if (exponent < 0)
     {
       if (num < DBL_MIN * pow (10.0, (double) -exponent))
-	goto underflow;
+        goto underflow;
     }
   else if (exponent > 0)
     {
       if (num > DBL_MAX * pow (10.0, (double) -exponent))
-	goto overflow;
+        goto overflow;
     }
 
   num *= pow (10.0, (double) exponent);