| Index: dtoa.cc | 
 | --- dtoa.cc    (old copy) | 
 | +++ dtoa.cc    (working copy) | 
 | @@ -179,6 +179,9 @@ | 
 |   *	used for input more than STRTOD_DIGLIM digits long (default 40). | 
 |   */ | 
 |   | 
 | +#define IEEE_8087 | 
 | +#define NO_HEX_FP | 
 | + | 
 |  #ifndef Long | 
 |  #define Long long | 
 |  #endif | 
 | @@ -280,9 +283,7 @@ | 
 |  #include "math.h" | 
 |  #endif | 
 |   | 
 | -#ifdef __cplusplus | 
 | -extern "C" { | 
 | -#endif | 
 | +namespace dmg_fp { | 
 |   | 
 |  #ifndef CONST | 
 |  #ifdef KR_headers | 
 | @@ -511,11 +512,9 @@ | 
 |   | 
 |  #define Kmax 7 | 
 |   | 
 | -#ifdef __cplusplus | 
 | -extern "C" double strtod(const char *s00, char **se); | 
 | -extern "C" char *dtoa(double d, int mode, int ndigits, | 
 | +double strtod(const char *s00, char **se); | 
 | +char *dtoa(double d, int mode, int ndigits, | 
 |  			int *decpt, int *sign, char **rve); | 
 | -#endif | 
 |   | 
 |   struct | 
 |  Bigint { | 
 | @@ -1527,7 +1526,7 @@ | 
 |  #ifdef KR_headers | 
 |  	(sp, t) char **sp, *t; | 
 |  #else | 
 | -	(CONST char **sp, char *t) | 
 | +	(CONST char **sp, CONST char *t) | 
 |  #endif | 
 |  { | 
 |  	int c, d; | 
 | @@ -2234,7 +2234,7 @@ bigcomp | 
 |  	nd = bc->nd; | 
 |  	nd0 = bc->nd0; | 
 |  	p5 = nd + bc->e0 - 1; | 
 | -	speccase = 0; | 
 | +	dd = speccase = 0; | 
 |  #ifndef Sudden_Underflow | 
 |  	if (rv->d == 0.) {	/* special case: value near underflow-to-zero */ | 
 |  				/* threshold was rounded to zero */ | 
 | @@ -3431,7 +3430,7 @@ | 
 |   | 
 |  	j = sizeof(ULong); | 
 |  	for(k = 0; | 
 | -		sizeof(Bigint) - sizeof(ULong) - sizeof(int) + j <= i; | 
 | +		sizeof(Bigint) - sizeof(ULong) - sizeof(int) + j <= (size_t)i; | 
 |  		j <<= 1) | 
 |  			k++; | 
 |  	r = (int*)Balloc(k); | 
 | @@ -3447,7 +3446,7 @@ | 
 |  #ifdef KR_headers | 
 |  nrv_alloc(s, rve, n) char *s, **rve; int n; | 
 |  #else | 
 | -nrv_alloc(char *s, char **rve, int n) | 
 | +nrv_alloc(CONST char *s, char **rve, int n) | 
 |  #endif | 
 |  { | 
 |  	char *rv, *t; | 
 | @@ -4202,6 +4201,5 @@ | 
 |  		*rve = s; | 
 |  	return s0; | 
 |  	} | 
 | -#ifdef __cplusplus | 
 | -} | 
 | -#endif | 
 | + | 
 | +}  // namespace dmg_fp | 
 | Index: g_fmt.cc | 
 | --- g_fmt.cc   (old copy) | 
 | +++ g_fmt.cc   (new copy) | 
 | @@ -46,14 +46,14 @@ g_fmt(register char *b, double x) | 
 |  	if (sign) | 
 |  		*b++ = '-'; | 
 |  	if (decpt == 9999) /* Infinity or Nan */ { | 
 | -		while(*b++ = *s++); | 
 | +		while((*b++ = *s++)); | 
 |  		goto done0; | 
 |  		} | 
 |  	if (decpt <= -4 || decpt > se - s + 5) { | 
 |  		*b++ = *s++; | 
 |  		if (*s) { | 
 |  			*b++ = '.'; | 
 | -			while(*b = *s++) | 
 | +			while((*b = *s++)) | 
 |  				b++; | 
 |  			} | 
 |  		*b++ = 'e'; | 
 | @@ -79,10 +79,10 @@ g_fmt(register char *b, double x) | 
 |  		*b++ = '.'; | 
 |  		for(; decpt < 0; decpt++) | 
 |  			*b++ = '0'; | 
 | -		while(*b++ = *s++); | 
 | +		while((*b++ = *s++)); | 
 |  		} | 
 |  	else { | 
 | -		while(*b = *s++) { | 
 | +		while((*b = *s++)) { | 
 |  			b++; | 
 |  			if (--decpt == 0 && *s) | 
 |  				*b++ = '.'; | 
 | @@ -93,7 +93,9 @@ g_fmt(register char *b, double x) | 
 |  		} | 
 |   done0: | 
 |  	freedtoa(s0); | 
 | +#ifdef IGNORE_ZERO_SIGN | 
 |   done: | 
 | +#endif | 
 |  	return b0; | 
 |  	} | 
 |   |