diff -P -C 2 -r gdtoa/arithchk.c gdtoa-new/arithchk.c
*** gdtoa/arithchk.c	1998-06-19 15:46:11.000000000 -0500
--- gdtoa-new/arithchk.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 137,141 ****
  	}
  
! main()
  {
  	Akind *a = 0;
--- 137,141 ----
  	}
  
! int main()
  {
  	Akind *a = 0;
Binary files gdtoa/arithchk.out and gdtoa-new/arithchk.out differ
diff -P -C 2 -r gdtoa/dmisc.c gdtoa-new/dmisc.c
*** gdtoa/dmisc.c	1998-11-02 13:34:31.000000000 -0600
--- gdtoa-new/dmisc.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 90,96 ****
   void
  #ifdef KR_headers
! freedtoa(s) char *s;
  #else
! freedtoa(char *s)
  #endif
  {
--- 90,96 ----
   void
  #ifdef KR_headers
! gdtoa__freedtoa(s) char *s;
  #else
! gdtoa__freedtoa(char *s)
  #endif
  {
diff -P -C 2 -r gdtoa/dtoa.c gdtoa-new/dtoa.c
*** gdtoa/dtoa.c	2000-11-02 09:09:01.000000000 -0600
--- gdtoa-new/dtoa.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 81,85 ****
  
   char *
! dtoa
  #ifdef KR_headers
  	(d, mode, ndigits, decpt, sign, rve)
--- 81,85 ----
  
   char *
! gdtoa__dtoa
  #ifdef KR_headers
  	(d, mode, ndigits, decpt, sign, rve)
***************
*** 143,147 ****
  #ifndef MULTIPLE_THREADS
  	if (dtoa_result) {
! 		freedtoa(dtoa_result);
  		dtoa_result = 0;
  		}
--- 143,147 ----
  #ifndef MULTIPLE_THREADS
  	if (dtoa_result) {
! 		gdtoa__freedtoa(dtoa_result);
  		dtoa_result = 0;
  		}
diff -P -C 2 -r gdtoa/g_ddfmt.c gdtoa-new/g_ddfmt.c
*** gdtoa/g_ddfmt.c	1998-09-09 07:09:31.000000000 -0500
--- gdtoa-new/g_ddfmt.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 41,47 ****
   char *
  #ifdef KR_headers
! g_ddfmt(buf, dd, ndig, bufsize) char *buf; double *dd; int ndig; unsigned bufsize;
  #else
! g_ddfmt(char *buf, double *dd, int ndig, unsigned bufsize)
  #endif
  {
--- 41,47 ----
   char *
  #ifdef KR_headers
! gdtoa__g_ddfmt(buf, dd, ndig, bufsize) char *buf; double *dd; int ndig; unsigned bufsize;
  #else
! gdtoa__g_ddfmt(char *buf, double *dd, int ndig, unsigned bufsize)
  #endif
  {
***************
*** 155,159 ****
  	fpi.sudden_underflow = 0;
  	i = STRTOG_Normal;
! 	s = gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se);
  	b = g__fmt(buf, s, se, decpt, z->sign);
  	Bfree(z);
--- 155,159 ----
  	fpi.sudden_underflow = 0;
  	i = STRTOG_Normal;
! 	s = gdtoa__gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se);
  	b = g__fmt(buf, s, se, decpt, z->sign);
  	Bfree(z);
diff -P -C 2 -r gdtoa/g_dfmt.c gdtoa-new/g_dfmt.c
*** gdtoa/g_dfmt.c	1998-09-09 09:18:15.000000000 -0500
--- gdtoa-new/g_dfmt.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 40,46 ****
   char*
  #ifdef KR_headers
! g_dfmt(buf, d, ndig, bufsize) char *buf; double *d; int ndig; unsigned bufsize;
  #else
! g_dfmt(char *buf, double *d, int ndig, unsigned bufsize)
  #endif
  {
--- 40,46 ----
   char*
  #ifdef KR_headers
! gdtoa__g_dfmt(buf, d, ndig, bufsize) char *buf; double *d; int ndig; unsigned bufsize;
  #else
! gdtoa__g_dfmt(char *buf, double *d, int ndig, unsigned bufsize)
  #endif
  {
***************
*** 91,95 ****
  		}
  	i = STRTOG_Normal;
! 	s = gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se);
  	return g__fmt(buf, s, se, decpt, sign);
  	}
--- 91,95 ----
  		}
  	i = STRTOG_Normal;
! 	s = gdtoa__gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se);
  	return g__fmt(buf, s, se, decpt, sign);
  	}
diff -P -C 2 -r gdtoa/gdtoa.c gdtoa-new/gdtoa.c
*** gdtoa/gdtoa.c	1999-09-20 23:22:19.000000000 -0500
--- gdtoa-new/gdtoa.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 116,120 ****
  
   char *
! gdtoa
  #ifdef KR_headers
  	(fpi, be, bits, kindp, mode, ndigits, decpt, rve)
--- 116,120 ----
  
   char *
! gdtoa__gdtoa
  #ifdef KR_headers
  	(fpi, be, bits, kindp, mode, ndigits, decpt, rve)
***************
*** 169,173 ****
  #ifndef MULTIPLE_THREADS
  	if (dtoa_result) {
! 		freedtoa(dtoa_result);
  		dtoa_result = 0;
  		}
--- 169,173 ----
  #ifndef MULTIPLE_THREADS
  	if (dtoa_result) {
! 		gdtoa__freedtoa(dtoa_result);
  		dtoa_result = 0;
  		}
diff -P -C 2 -r gdtoa/gdtoa.h gdtoa-new/gdtoa.h
*** gdtoa/gdtoa.h	2000-11-01 09:01:39.000000000 -0600
--- gdtoa-new/gdtoa.h	2007-08-06 16:26:02.000000000 -0500
***************
*** 109,155 ****
  #endif
  
! extern char* dtoa  ANSI((double d, int mode, int ndigits, int *decpt,
  			int *sign, char **rve));
! extern char* gdtoa ANSI((FPI *fpi, int be, ULong *bits, int *kindp,
  			int mode, int ndigits, int *decpt, char **rve));
! extern void freedtoa ANSI((char*));
! extern float  strtof ANSI((CONST char *, char **));
! extern double strtod ANSI((CONST char *, char **));
! extern int strtodg ANSI((CONST char*, char**, FPI*, Long*, ULong*));
  
! extern char*	g_ddfmt  ANSI((char*, double*, int, unsigned));
! extern char*	g_dfmt   ANSI((char*, double*, int, unsigned));
! extern char*	g_ffmt   ANSI((char*, float*,  int, unsigned));
! extern char*	g_Qfmt   ANSI((char*, void*,   int, unsigned));
! extern char*	g_xfmt   ANSI((char*, void*,   int, unsigned));
! extern char*	g_xLfmt  ANSI((char*, void*,   int, unsigned));
  
! extern int	strtoId  ANSI((CONST char*, char**, double*, double*));
! extern int	strtoIdd ANSI((CONST char*, char**, double*, double*));
! extern int	strtoIf  ANSI((CONST char*, char**, float*, float*));
! extern int	strtoIQ  ANSI((CONST char*, char**, void*, void*));
! extern int	strtoIx  ANSI((CONST char*, char**, void*, void*));
! extern int	strtoIxL ANSI((CONST char*, char**, void*, void*));
! extern int	strtord  ANSI((CONST char*, char**, int, double*));
! extern int	strtordd ANSI((CONST char*, char**, int, double*));
! extern int	strtorf  ANSI((CONST char*, char**, int, float*));
! extern int	strtorQ  ANSI((CONST char*, char**, int, void*));
! extern int	strtorx  ANSI((CONST char*, char**, int, void*));
! extern int	strtorxL ANSI((CONST char*, char**, int, void*));
  #if 1
! extern int	strtodI  ANSI((CONST char*, char**, double*));
! extern int	strtopd  ANSI((CONST char*, char**, double*));
! extern int	strtopdd ANSI((CONST char*, char**, double*));
! extern int	strtopf  ANSI((CONST char*, char**, float*));
! extern int	strtopQ  ANSI((CONST char*, char**, void*));
! extern int	strtopx  ANSI((CONST char*, char**, void*));
! extern int	strtopxL ANSI((CONST char*, char**, void*));
  #else
! #define strtopd(s,se,x) strtord(s,se,1,x)
! #define strtopdd(s,se,x) strtordd(s,se,1,x)
! #define strtopf(s,se,x) strtorf(s,se,1,x)
! #define strtopQ(s,se,x) strtorQ(s,se,1,x)
! #define strtopx(s,se,x) strtorx(s,se,1,x)
! #define strtopxL(s,se,x) strtorxL(s,se,1,x)
  #endif
  
--- 109,155 ----
  #endif
  
! extern char* gdtoa__dtoa  ANSI((double d, int mode, int ndigits, int *decpt,
  			int *sign, char **rve));
! extern char* gdtoa__gdtoa ANSI((FPI *fpi, int be, ULong *bits, int *kindp,
  			int mode, int ndigits, int *decpt, char **rve));
! extern void gdtoa__freedtoa ANSI((char*));
! extern float  gdtoa__strtof ANSI((CONST char *, char **));
! extern double gdtoa__strtod ANSI((CONST char *, char **));
! extern int gdtoa__strtodg ANSI((CONST char*, char**, FPI*, Long*, ULong*));
  
! extern char*	gdtoa__g_ddfmt  ANSI((char*, double*, int, unsigned));
! extern char*	gdtoa__g_dfmt   ANSI((char*, double*, int, unsigned));
! extern char*	gdtoa__g_ffmt   ANSI((char*, float*,  int, unsigned));
! extern char*	gdtoa__g_Qfmt   ANSI((char*, void*,   int, unsigned));
! extern char*	gdtoa__g_xfmt   ANSI((char*, void*,   int, unsigned));
! extern char*	gdtoa__g_xLfmt  ANSI((char*, void*,   int, unsigned));
  
! extern int	gdtoa__strtoId  ANSI((CONST char*, char**, double*, double*));
! extern int	gdtoa__strtoIdd ANSI((CONST char*, char**, double*, double*));
! extern int	gdtoa__strtoIf  ANSI((CONST char*, char**, float*, float*));
! extern int	gdtoa__strtoIQ  ANSI((CONST char*, char**, void*, void*));
! extern int	gdtoa__strtoIx  ANSI((CONST char*, char**, void*, void*));
! extern int	gdtoa__strtoIxL ANSI((CONST char*, char**, void*, void*));
! extern int	gdtoa__strtord  ANSI((CONST char*, char**, int, double*));
! extern int	gdtoa__strtordd ANSI((CONST char*, char**, int, double*));
! extern int	gdtoa__strtorf  ANSI((CONST char*, char**, int, float*));
! extern int	gdtoa__strtorQ  ANSI((CONST char*, char**, int, void*));
! extern int	gdtoa__strtorx  ANSI((CONST char*, char**, int, void*));
! extern int	gdtoa__strtorxL ANSI((CONST char*, char**, int, void*));
  #if 1
! extern int	gdtoa__strtodI  ANSI((CONST char*, char**, double*));
! extern int	gdtoa__strtopd  ANSI((CONST char*, char**, double*));
! extern int	gdtoa__strtopdd ANSI((CONST char*, char**, double*));
! extern int	gdtoa__strtopf  ANSI((CONST char*, char**, float*));
! extern int	gdtoa__strtopQ  ANSI((CONST char*, char**, void*));
! extern int	gdtoa__strtopx  ANSI((CONST char*, char**, void*));
! extern int	gdtoa__strtopxL ANSI((CONST char*, char**, void*));
  #else
! #define gdtoa__strtopd(s,se,x) gdtoa__strtord(s,se,1,x)
! #define gdtoa__strtopdd(s,se,x) gdtoa__strtordd(s,se,1,x)
! #define gdtoa__strtopf(s,se,x) gdtoa__strtorf(s,se,1,x)
! #define gdtoa__strtopQ(s,se,x) gdtoa__strtorQ(s,se,1,x)
! #define gdtoa__strtopx(s,se,x) gdtoa__strtorx(s,se,1,x)
! #define gdtoa__strtopxL(s,se,x) gdtoa__strtorxL(s,se,1,x)
  #endif
  
diff -P -C 2 -r gdtoa/gdtoaimp.h gdtoa-new/gdtoaimp.h
*** gdtoa/gdtoaimp.h	2000-11-02 09:09:01.000000000 -0600
--- gdtoa-new/gdtoaimp.h	2007-08-06 16:26:02.000000000 -0500
***************
*** 571,576 ****
   extern Bigint *set_ones ANSI((Bigint*, int));
   extern char *strcp ANSI((char*, const char*));
!  extern int strtoIg ANSI((CONST char*, char**, FPI*, Long*, Bigint**, int*));
!  extern double strtod ANSI((const char *s00, char **se));
   extern Bigint *sum ANSI((Bigint*, Bigint*));
   extern int trailz ANSI((Bigint*));
--- 571,576 ----
   extern Bigint *set_ones ANSI((Bigint*, int));
   extern char *strcp ANSI((char*, const char*));
!  extern int gdtoa__strtoIg ANSI((CONST char*, char**, FPI*, Long*, Bigint**, int*));
!  extern double gdtoa__strtod ANSI((const char *s00, char **se));
   extern Bigint *sum ANSI((Bigint*, Bigint*));
   extern int trailz ANSI((Bigint*));
diff -P -C 2 -r gdtoa/g_ffmt.c gdtoa-new/g_ffmt.c
*** gdtoa/g_ffmt.c	1998-09-12 15:39:39.000000000 -0500
--- gdtoa-new/g_ffmt.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 40,46 ****
   char*
  #ifdef KR_headers
! g_ffmt(buf, f, ndig, bufsize) char *buf; float *f; int ndig; unsigned bufsize;
  #else
! g_ffmt(char *buf, float *f, int ndig, unsigned bufsize)
  #endif
  {
--- 40,46 ----
   char*
  #ifdef KR_headers
! gdtoa__g_ffmt(buf, f, ndig, bufsize) char *buf; float *f; int ndig; unsigned bufsize;
  #else
! gdtoa__g_ffmt(char *buf, float *f, int ndig, unsigned bufsize)
  #endif
  {
***************
*** 90,94 ****
  		}
  	i = STRTOG_Normal;
! 	s = gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se);
  	return g__fmt(buf, s, se, decpt, sign);
  	}
--- 90,94 ----
  		}
  	i = STRTOG_Normal;
! 	s = gdtoa__gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se);
  	return g__fmt(buf, s, se, decpt, sign);
  	}
diff -P -C 2 -r gdtoa/g__fmt.c gdtoa-new/g__fmt.c
*** gdtoa/g__fmt.c	2003-03-21 14:59:43.000000000 -0600
--- gdtoa-new/g__fmt.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 97,101 ****
  		*b = 0;
  		}
! 	freedtoa(s0);
  	return b;
   	}
--- 97,101 ----
  		*b = 0;
  		}
! 	gdtoa__freedtoa(s0);
  	return b;
   	}
diff -P -C 2 -r gdtoa/g_Qfmt.c gdtoa-new/g_Qfmt.c
*** gdtoa/g_Qfmt.c	2000-11-01 09:21:10.000000000 -0600
--- gdtoa-new/g_Qfmt.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 58,64 ****
   char*
  #ifdef KR_headers
! g_Qfmt(buf, V, ndig, bufsize) char *buf; char *V; int ndig; unsigned bufsize;
  #else
! g_Qfmt(char *buf, void *V, int ndig, unsigned bufsize)
  #endif
  {
--- 58,64 ----
   char*
  #ifdef KR_headers
! gdtoa__g_Qfmt(buf, V, ndig, bufsize) char *buf; char *V; int ndig; unsigned bufsize;
  #else
! gdtoa__g_Qfmt(char *buf, void *V, int ndig, unsigned bufsize)
  #endif
  {
***************
*** 116,120 ****
  		mode = 0;
  		}
! 	s = gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se);
  	return g__fmt(buf, s, se, decpt, sign);
  	}
--- 116,120 ----
  		mode = 0;
  		}
! 	s = gdtoa__gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se);
  	return g__fmt(buf, s, se, decpt, sign);
  	}
diff -P -C 2 -r gdtoa/g_xfmt.c gdtoa-new/g_xfmt.c
*** gdtoa/g_xfmt.c	1998-09-09 08:59:17.000000000 -0500
--- gdtoa-new/g_xfmt.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 60,66 ****
   char*
  #ifdef KR_headers
! g_xfmt(buf, V, ndig, bufsize) char *buf; char *V; int ndig; unsigned bufsize;
  #else
! g_xfmt(char *buf, void *V, int ndig, unsigned bufsize)
  #endif
  {
--- 60,66 ----
   char*
  #ifdef KR_headers
! gdtoa__g_xfmt(buf, V, ndig, bufsize) char *buf; char *V; int ndig; unsigned bufsize;
  #else
! gdtoa__g_xfmt(char *buf, void *V, int ndig, unsigned bufsize)
  #endif
  {
***************
*** 115,119 ****
  		mode = 0;
  		}
! 	s = gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se);
  	return g__fmt(buf, s, se, decpt, sign);
  	}
--- 115,119 ----
  		mode = 0;
  		}
! 	s = gdtoa__gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se);
  	return g__fmt(buf, s, se, decpt, sign);
  	}
diff -P -C 2 -r gdtoa/g_xLfmt.c gdtoa-new/g_xLfmt.c
*** gdtoa/g_xLfmt.c	1998-09-09 11:35:43.000000000 -0500
--- gdtoa-new/g_xLfmt.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 56,62 ****
   char*
  #ifdef KR_headers
! g_xLfmt(buf, V, ndig, bufsize) char *buf; char *V; int ndig; unsigned bufsize;
  #else
! g_xLfmt(char *buf, void *V, int ndig, unsigned bufsize)
  #endif
  {
--- 56,62 ----
   char*
  #ifdef KR_headers
! gdtoa__g_xLfmt(buf, V, ndig, bufsize) char *buf; char *V; int ndig; unsigned bufsize;
  #else
! gdtoa__g_xLfmt(char *buf, void *V, int ndig, unsigned bufsize)
  #endif
  {
***************
*** 110,114 ****
  		mode = 0;
  		}
! 	s = gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se);
  	return g__fmt(buf, s, se, decpt, sign);
  	}
--- 110,114 ----
  		mode = 0;
  		}
! 	s = gdtoa__gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se);
  	return g__fmt(buf, s, se, decpt, sign);
  	}
diff -P -C 2 -r gdtoa/strtod.c gdtoa-new/strtod.c
*** gdtoa/strtod.c	2003-03-21 15:24:01.000000000 -0600
--- gdtoa-new/strtod.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 59,63 ****
  
   double
! strtod
  #ifdef KR_headers
  	(s00, se) CONST char *s00; char **se;
--- 59,63 ----
  
   double
! gdtoa__strtod
  #ifdef KR_headers
  	(s00, se) CONST char *s00; char **se;
diff -P -C 2 -r gdtoa/strtodg.c gdtoa-new/strtodg.c
*** gdtoa/strtodg.c	2003-03-21 14:59:43.000000000 -0600
--- gdtoa-new/strtodg.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 317,321 ****
  
   int
! strtodg
  #ifdef KR_headers
  	(s00, se, fpi, exp, bits)
--- 317,321 ----
  
   int
! gdtoa__strtodg
  #ifdef KR_headers
  	(s00, se, fpi, exp, bits)
diff -P -C 2 -r gdtoa/strtodI.c gdtoa-new/strtodI.c
*** gdtoa/strtodI.c	2000-11-01 22:33:13.000000000 -0600
--- gdtoa-new/strtodI.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 57,63 ****
   int
  #ifdef KR_headers
! strtodI(s, sp, dd) CONST char *s; char **sp; double *dd;
  #else
! strtodI(CONST char *s, char **sp, double *dd)
  #endif
  {
--- 57,63 ----
   int
  #ifdef KR_headers
! gdtoa__strtodI(s, sp, dd) CONST char *s; char **sp; double *dd;
  #else
! gdtoa__strtodI(CONST char *s, char **sp, double *dd)
  #endif
  {
***************
*** 76,80 ****
  	U *u;
  
! 	k = strtodg(s, sp, &fpi, &exp, bits);
  	u = (U*)dd;
  	sign = k & STRTOG_Neg ? 0x80000000L : 0;
--- 76,80 ----
  	U *u;
  
! 	k = gdtoa__strtodg(s, sp, &fpi, &exp, bits);
  	u = (U*)dd;
  	sign = k & STRTOG_Neg ? 0x80000000L : 0;
diff -P -C 2 -r gdtoa/strtof.c gdtoa-new/strtof.c
*** gdtoa/strtof.c	2000-11-01 22:31:40.000000000 -0600
--- gdtoa-new/strtof.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 38,46 ****
  #include "gdtoaimp.h"
  
!  float
  #ifdef KR_headers
! strtof(s, sp) CONST char *s; char **sp;
  #else
! strtof(CONST char *s, char **sp)
  #endif
  {
--- 38,46 ----
  #include "gdtoaimp.h"
  
!  float gdtoa__strtof
  #ifdef KR_headers
! 	(s, sp) CONST char *s; char **sp;
  #else
! 	(CONST char *s, char **sp)
  #endif
  {
***************
*** 55,59 ****
  	union { ULong L[1]; float f; } u;
  
! 	k = strtodg(s, sp, &fpi, &exp, bits);
  	switch(k & STRTOG_Retmask) {
  	  case STRTOG_NoNumber:
--- 55,59 ----
  	union { ULong L[1]; float f; } u;
  
! 	k = gdtoa__strtodg(s, sp, &fpi, &exp, bits);
  	switch(k & STRTOG_Retmask) {
  	  case STRTOG_NoNumber:
diff -P -C 2 -r gdtoa/strtoId.c gdtoa-new/strtoId.c
*** gdtoa/strtoId.c	1998-09-09 08:59:17.000000000 -0500
--- gdtoa-new/strtoId.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 40,46 ****
   int
  #ifdef KR_headers
! strtoId(s, sp, f0, f1) CONST char *s; char **sp; double *f0, *f1;
  #else
! strtoId(CONST char *s, char **sp, double *f0, double *f1)
  #endif
  {
--- 40,46 ----
   int
  #ifdef KR_headers
! gdtoa__strtoId(s, sp, f0, f1) CONST char *s; char **sp; double *f0, *f1;
  #else
! gdtoa__strtoId(CONST char *s, char **sp, double *f0, double *f1)
  #endif
  {
***************
*** 52,56 ****
  	B[0] = Balloc(1);
  	B[0]->wds = 2;
! 	k = strtoIg(s, sp, &fpi, exp, B, rv);
  	ULtod((ULong*)f0, B[0]->x, exp[0], rv[0]);
  	Bfree(B[0]);
--- 52,56 ----
  	B[0] = Balloc(1);
  	B[0]->wds = 2;
! 	k = gdtoa__strtoIg(s, sp, &fpi, exp, B, rv);
  	ULtod((ULong*)f0, B[0]->x, exp[0], rv[0]);
  	Bfree(B[0]);
diff -P -C 2 -r gdtoa/strtoIdd.c gdtoa-new/strtoIdd.c
*** gdtoa/strtoIdd.c	1998-09-09 08:59:17.000000000 -0500
--- gdtoa-new/strtoIdd.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 40,46 ****
   int
  #ifdef KR_headers
! strtoIdd(s, sp, f0, f1) CONST char *s; char **sp; double *f0, *f1;
  #else
! strtoIdd(CONST char *s, char **sp, double *f0, double *f1)
  #endif
  {
--- 40,46 ----
   int
  #ifdef KR_headers
! gdtoa__strtoIdd(s, sp, f0, f1) CONST char *s; char **sp; double *f0, *f1;
  #else
! gdtoa__strtoIdd(CONST char *s, char **sp, double *f0, double *f1)
  #endif
  {
***************
*** 56,60 ****
  	B[0] = Balloc(2);
  	B[0]->wds = 4;
! 	k = strtoIg(s, sp, &fpi, exp, B, rv);
  	ULtodd((ULong*)f0, B[0]->x, exp[0], rv[0]);
  	Bfree(B[0]);
--- 56,60 ----
  	B[0] = Balloc(2);
  	B[0]->wds = 4;
! 	k = gdtoa__strtoIg(s, sp, &fpi, exp, B, rv);
  	ULtodd((ULong*)f0, B[0]->x, exp[0], rv[0]);
  	Bfree(B[0]);
diff -P -C 2 -r gdtoa/strtoIf.c gdtoa-new/strtoIf.c
*** gdtoa/strtoIf.c	1998-09-09 08:59:17.000000000 -0500
--- gdtoa-new/strtoIf.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 40,46 ****
   int
  #ifdef KR_headers
! strtoIf(s, sp, f0, f1) CONST char *s; char **sp; float *f0, *f1;
  #else
! strtoIf(CONST char *s, char **sp, float *f0, float *f1)
  #endif
  {
--- 40,46 ----
   int
  #ifdef KR_headers
! gdtoa__strtoIf(s, sp, f0, f1) CONST char *s; char **sp; float *f0, *f1;
  #else
! gdtoa__strtoIf(CONST char *s, char **sp, float *f0, float *f1)
  #endif
  {
***************
*** 52,56 ****
  	B[0] = Balloc(0);
  	B[0]->wds = 1;
! 	k = strtoIg(s, sp, &fpi, exp, B, rv);
  	ULtof((ULong*)f0, B[0]->x, exp[0], rv[0]);
  	Bfree(B[0]);
--- 52,56 ----
  	B[0] = Balloc(0);
  	B[0]->wds = 1;
! 	k = gdtoa__strtoIg(s, sp, &fpi, exp, B, rv);
  	ULtof((ULong*)f0, B[0]->x, exp[0], rv[0]);
  	Bfree(B[0]);
diff -P -C 2 -r gdtoa/strtoIg.c gdtoa-new/strtoIg.c
*** gdtoa/strtoIg.c	1998-06-26 09:04:19.000000000 -0500
--- gdtoa-new/strtoIg.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 40,46 ****
   int
  #ifdef KR_headers
! strtoIg(s00, se, fpi, exp, B, rvp) CONST char *s00; char **se; FPI *fpi; Long *exp; Bigint **B; int *rvp;
  #else
! strtoIg(CONST char *s00, char **se, FPI *fpi, Long *exp, Bigint **B, int *rvp)
  #endif
  {
--- 40,46 ----
   int
  #ifdef KR_headers
! gdtoa__strtoIg(s00, se, fpi, exp, B, rvp) CONST char *s00; char **se; FPI *fpi; Long *exp; Bigint **B; int *rvp;
  #else
! gdtoa__strtoIg(CONST char *s00, char **se, FPI *fpi, Long *exp, Bigint **B, int *rvp)
  #endif
  {
***************
*** 51,55 ****
  
  	b = *B;
! 	rv = strtodg(s00, se, fpi, exp, b->x);
  	if (!(rv & STRTOG_Inexact)) {
  		B[1] = 0;
--- 51,55 ----
  
  	b = *B;
! 	rv = gdtoa__strtodg(s00, se, fpi, exp, b->x);
  	if (!(rv & STRTOG_Inexact)) {
  		B[1] = 0;
diff -P -C 2 -r gdtoa/strtoIQ.c gdtoa-new/strtoIQ.c
*** gdtoa/strtoIQ.c	1998-06-22 13:49:25.000000000 -0500
--- gdtoa-new/strtoIQ.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 40,46 ****
   int
  #ifdef KR_headers
! strtoIQ(s, sp, a, b) CONST char *s; char **sp; void *a; void *b;
  #else
! strtoIQ(CONST char *s, char **sp, void *a, void *b)
  #endif
  {
--- 40,46 ----
   int
  #ifdef KR_headers
! gdtoa__strtoIQ(s, sp, a, b) CONST char *s; char **sp; void *a; void *b;
  #else
! gdtoa__strtoIQ(CONST char *s, char **sp, void *a, void *b)
  #endif
  {
***************
*** 53,57 ****
  	B[0] = Balloc(2);
  	B[0]->wds = 4;
! 	k = strtoIg(s, sp, &fpi, exp, B, rv);
  	ULtoQ(L, B[0]->x, exp[0], rv[0]);
  	Bfree(B[0]);
--- 53,57 ----
  	B[0] = Balloc(2);
  	B[0]->wds = 4;
! 	k = gdtoa__strtoIg(s, sp, &fpi, exp, B, rv);
  	ULtoQ(L, B[0]->x, exp[0], rv[0]);
  	Bfree(B[0]);
diff -P -C 2 -r gdtoa/strtoIx.c gdtoa-new/strtoIx.c
*** gdtoa/strtoIx.c	1998-09-09 08:13:22.000000000 -0500
--- gdtoa-new/strtoIx.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 40,46 ****
   int
  #ifdef KR_headers
! strtoIx(s, sp, a, b) CONST char *s; char **sp; void *a; void *b;
  #else
! strtoIx(CONST char *s, char **sp, void *a, void *b)
  #endif
  {
--- 40,46 ----
   int
  #ifdef KR_headers
! gdtoa__strtoIx(s, sp, a, b) CONST char *s; char **sp; void *a; void *b;
  #else
! gdtoa__strtoIx(CONST char *s, char **sp, void *a, void *b)
  #endif
  {
***************
*** 53,57 ****
  	B[0] = Balloc(1);
  	B[0]->wds = 2;
! 	k = strtoIg(s, sp, &fpi, exp, B, rv);
  	ULtox(L, B[0]->x, exp[0], rv[0]);
  	Bfree(B[0]);
--- 53,57 ----
  	B[0] = Balloc(1);
  	B[0]->wds = 2;
! 	k = gdtoa__strtoIg(s, sp, &fpi, exp, B, rv);
  	ULtox(L, B[0]->x, exp[0], rv[0]);
  	Bfree(B[0]);
diff -P -C 2 -r gdtoa/strtoIxL.c gdtoa-new/strtoIxL.c
*** gdtoa/strtoIxL.c	1998-09-09 08:13:22.000000000 -0500
--- gdtoa-new/strtoIxL.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 40,46 ****
   int
  #ifdef KR_headers
! strtoIxL(s, sp, a, b) CONST char *s; char **sp; void *a; void *b;
  #else
! strtoIxL(CONST char *s, char **sp, void *a, void *b)
  #endif
  {
--- 40,46 ----
   int
  #ifdef KR_headers
! gdtoa__strtoIxL(s, sp, a, b) CONST char *s; char **sp; void *a; void *b;
  #else
! gdtoa__strtoIxL(CONST char *s, char **sp, void *a, void *b)
  #endif
  {
***************
*** 53,57 ****
  	B[0] = Balloc(1);
  	B[0]->wds = 2;
! 	k = strtoIg(s, sp, &fpi, exp, B, rv);
  	ULtoxL(L, B[0]->x, exp[0], rv[0]);
  	Bfree(B[0]);
--- 53,57 ----
  	B[0] = Balloc(1);
  	B[0]->wds = 2;
! 	k = gdtoa__strtoIg(s, sp, &fpi, exp, B, rv);
  	ULtoxL(L, B[0]->x, exp[0], rv[0]);
  	Bfree(B[0]);
diff -P -C 2 -r gdtoa/strtopd.c gdtoa-new/strtopd.c
*** gdtoa/strtopd.c	1998-09-12 10:30:06.000000000 -0500
--- gdtoa-new/strtopd.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 40,46 ****
   int
  #ifdef KR_headers
! strtopd(s, sp, d) char *s; char **sp; double *d;
  #else
! strtopd(CONST char *s, char **sp, double *d)
  #endif
  {
--- 40,46 ----
   int
  #ifdef KR_headers
! gdtoa__strtopd(s, sp, d) char *s; char **sp; double *d;
  #else
! gdtoa__strtopd(CONST char *s, char **sp, double *d)
  #endif
  {
***************
*** 50,54 ****
  	int k;
  
! 	k = strtodg(s, sp, &fpi0, &exp, bits);
  	ULtod((ULong*)d, bits, exp, k);
  	return k;
--- 50,54 ----
  	int k;
  
! 	k = gdtoa__strtodg(s, sp, &fpi0, &exp, bits);
  	ULtod((ULong*)d, bits, exp, k);
  	return k;
diff -P -C 2 -r gdtoa/strtopdd.c gdtoa-new/strtopdd.c
*** gdtoa/strtopdd.c	2000-11-01 22:33:46.000000000 -0600
--- gdtoa-new/strtopdd.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 40,46 ****
   int
  #ifdef KR_headers
! strtopdd(s, sp, dd) CONST char *s; char **sp; double *dd;
  #else
! strtopdd(CONST char *s, char **sp, double *dd)
  #endif
  {
--- 40,46 ----
   int
  #ifdef KR_headers
! gdtoa__strtopdd(s, sp, dd) CONST char *s; char **sp; double *dd;
  #else
! gdtoa__strtopdd(CONST char *s, char **sp, double *dd)
  #endif
  {
***************
*** 59,63 ****
  	U *u;
  
! 	rv = strtodg(s, sp, &fpi, &exp, bits);
  	u = (U*)dd;
  	switch(rv & STRTOG_Retmask) {
--- 59,63 ----
  	U *u;
  
! 	rv = gdtoa__strtodg(s, sp, &fpi, &exp, bits);
  	u = (U*)dd;
  	switch(rv & STRTOG_Retmask) {
diff -P -C 2 -r gdtoa/strtopf.c gdtoa-new/strtopf.c
*** gdtoa/strtopf.c	2000-11-01 22:31:40.000000000 -0600
--- gdtoa-new/strtopf.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 40,46 ****
   int
  #ifdef KR_headers
! strtopf(s, sp, f) CONST char *s; char **sp; float *f;
  #else
! strtopf(CONST char *s, char **sp, float *f)
  #endif
  {
--- 40,46 ----
   int
  #ifdef KR_headers
! gdtoa__strtopf(s, sp, f) CONST char *s; char **sp; float *f;
  #else
! gdtoa__strtopf(CONST char *s, char **sp, float *f)
  #endif
  {
***************
*** 54,58 ****
  	int k;
  
! 	k = strtodg(s, sp, &fpi, &exp, bits);
  	L = (ULong*)f;
  	switch(k & STRTOG_Retmask) {
--- 54,58 ----
  	int k;
  
! 	k = gdtoa__strtodg(s, sp, &fpi, &exp, bits);
  	L = (ULong*)f;
  	switch(k & STRTOG_Retmask) {
diff -P -C 2 -r gdtoa/strtopQ.c gdtoa-new/strtopQ.c
*** gdtoa/strtopQ.c	2000-11-01 22:31:40.000000000 -0600
--- gdtoa-new/strtopQ.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 58,64 ****
   int
  #ifdef KR_headers
! strtopQ(s, sp, V) CONST char *s; char **sp; void *V;
  #else
! strtopQ(CONST char *s, char **sp, void *V)
  #endif
  {
--- 58,64 ----
   int
  #ifdef KR_headers
! gdtoa__strtopQ(s, sp, V) CONST char *s; char **sp; void *V;
  #else
! gdtoa__strtopQ(CONST char *s, char **sp, void *V)
  #endif
  {
***************
*** 73,77 ****
  	ULong *L = (ULong*)V;
  
! 	k = strtodg(s, sp, &fpi, &exp, bits);
  	switch(k & STRTOG_Retmask) {
  	  case STRTOG_NoNumber:
--- 73,77 ----
  	ULong *L = (ULong*)V;
  
! 	k = gdtoa__strtodg(s, sp, &fpi, &exp, bits);
  	switch(k & STRTOG_Retmask) {
  	  case STRTOG_NoNumber:
diff -P -C 2 -r gdtoa/strtopx.c gdtoa-new/strtopx.c
*** gdtoa/strtopx.c	2000-11-01 22:31:40.000000000 -0600
--- gdtoa-new/strtopx.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 60,66 ****
   int
  #ifdef KR_headers
! strtopx(s, sp, V) CONST char *s; char **sp; void *V;
  #else
! strtopx(CONST char *s, char **sp, void *V)
  #endif
  {
--- 60,66 ----
   int
  #ifdef KR_headers
! gdtoa__strtopx(s, sp, V) CONST char *s; char **sp; void *V;
  #else
! gdtoa__strtopx(CONST char *s, char **sp, void *V)
  #endif
  {
***************
*** 75,79 ****
  	UShort *L = (UShort*)V;
  
! 	k = strtodg(s, sp, &fpi, &exp, bits);
  	switch(k & STRTOG_Retmask) {
  	  case STRTOG_NoNumber:
--- 75,79 ----
  	UShort *L = (UShort*)V;
  
! 	k = gdtoa__strtodg(s, sp, &fpi, &exp, bits);
  	switch(k & STRTOG_Retmask) {
  	  case STRTOG_NoNumber:
diff -P -C 2 -r gdtoa/strtopxL.c gdtoa-new/strtopxL.c
*** gdtoa/strtopxL.c	2000-11-01 22:31:40.000000000 -0600
--- gdtoa-new/strtopxL.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 56,62 ****
   int
  #ifdef KR_headers
! strtopxL(s, sp, V) CONST char *s; char **sp; void *V;
  #else
! strtopxL(CONST char *s, char **sp, void *V)
  #endif
  {
--- 56,62 ----
   int
  #ifdef KR_headers
! gdtoa__strtopxL(s, sp, V) CONST char *s; char **sp; void *V;
  #else
! gdtoa__strtopxL(CONST char *s, char **sp, void *V)
  #endif
  {
***************
*** 71,75 ****
  	ULong *L = (ULong*)V;
  
! 	k = strtodg(s, sp, &fpi, &exp, bits);
  	switch(k & STRTOG_Retmask) {
  	  case STRTOG_NoNumber:
--- 71,75 ----
  	ULong *L = (ULong*)V;
  
! 	k = gdtoa__strtodg(s, sp, &fpi, &exp, bits);
  	switch(k & STRTOG_Retmask) {
  	  case STRTOG_NoNumber:
diff -P -C 2 -r gdtoa/strtord.c gdtoa-new/strtord.c
*** gdtoa/strtord.c	2000-11-01 22:31:40.000000000 -0600
--- gdtoa-new/strtord.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 77,83 ****
   int
  #ifdef KR_headers
! strtord(s, sp, rounding, d) CONST char *s; char **sp; int rounding; double *d;
  #else
! strtord(CONST char *s, char **sp, int rounding, double *d)
  #endif
  {
--- 77,83 ----
   int
  #ifdef KR_headers
! gdtoa__strtord(s, sp, rounding, d) CONST char *s; char **sp; int rounding; double *d;
  #else
! gdtoa__strtord(CONST char *s, char **sp, int rounding, double *d)
  #endif
  {
***************
*** 94,98 ****
  		fpi = &fpi1;
  		}
! 	k = strtodg(s, sp, fpi, &exp, bits);
  	ULtod((ULong*)d, bits, exp, k);
  	return k;
--- 94,98 ----
  		fpi = &fpi1;
  		}
! 	k = gdtoa__strtodg(s, sp, fpi, &exp, bits);
  	ULtod((ULong*)d, bits, exp, k);
  	return k;
diff -P -C 2 -r gdtoa/strtordd.c gdtoa-new/strtordd.c
*** gdtoa/strtordd.c	2000-11-01 22:31:40.000000000 -0600
--- gdtoa-new/strtordd.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 179,185 ****
   int
  #ifdef KR_headers
! strtordd(s, sp, rounding, dd) CONST char *s; char **sp; int rounding; double *dd;
  #else
! strtordd(CONST char *s, char **sp, int rounding, double *dd)
  #endif
  {
--- 179,185 ----
   int
  #ifdef KR_headers
! gdtoa__strtordd(s, sp, rounding, dd) CONST char *s; char **sp; int rounding; double *dd;
  #else
! gdtoa__strtordd(CONST char *s, char **sp, int rounding, double *dd)
  #endif
  {
***************
*** 200,204 ****
  		fpi = &fpi1;
  		}
! 	k = strtodg(s, sp, fpi, &exp, bits);
  	ULtodd((ULong*)dd, bits, exp, k);
  	return k;
--- 200,204 ----
  		fpi = &fpi1;
  		}
! 	k = gdtoa__strtodg(s, sp, fpi, &exp, bits);
  	ULtodd((ULong*)dd, bits, exp, k);
  	return k;
diff -P -C 2 -r gdtoa/strtorf.c gdtoa-new/strtorf.c
*** gdtoa/strtorf.c	2000-11-01 22:31:40.000000000 -0600
--- gdtoa-new/strtorf.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 73,79 ****
   int
  #ifdef KR_headers
! strtorf(s, sp, rounding, f) CONST char *s; char **sp; int rounding; float *f;
  #else
! strtorf(CONST char *s, char **sp, int rounding, float *f)
  #endif
  {
--- 73,79 ----
   int
  #ifdef KR_headers
! gdtoa__strtorf(s, sp, rounding, f) CONST char *s; char **sp; int rounding; float *f;
  #else
! gdtoa__strtorf(CONST char *s, char **sp, int rounding, float *f)
  #endif
  {
***************
*** 90,94 ****
  		fpi = &fpi1;
  		}
! 	k = strtodg(s, sp, fpi, &exp, bits);
  	ULtof((ULong*)f, bits, exp, k);
  	return k;
--- 90,94 ----
  		fpi = &fpi1;
  		}
! 	k = gdtoa__strtodg(s, sp, fpi, &exp, bits);
  	ULtof((ULong*)f, bits, exp, k);
  	return k;
diff -P -C 2 -r gdtoa/strtorQ.c gdtoa-new/strtorQ.c
*** gdtoa/strtorQ.c	2000-11-01 22:31:40.000000000 -0600
--- gdtoa-new/strtorQ.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 99,105 ****
   int
  #ifdef KR_headers
! strtorQ(s, sp, rounding, L) CONST char *s; char **sp; int rounding; void *L;
  #else
! strtorQ(CONST char *s, char **sp, int rounding, void *L)
  #endif
  {
--- 99,105 ----
   int
  #ifdef KR_headers
! gdtoa__strtorQ(s, sp, rounding, L) CONST char *s; char **sp; int rounding; void *L;
  #else
! gdtoa__strtorQ(CONST char *s, char **sp, int rounding, void *L)
  #endif
  {
***************
*** 116,120 ****
  		fpi = &fpi1;
  		}
! 	k = strtodg(s, sp, fpi, &exp, bits);
  	ULtoQ((ULong*)L, bits, exp, k);
  	return k;
--- 116,120 ----
  		fpi = &fpi1;
  		}
! 	k = gdtoa__strtodg(s, sp, fpi, &exp, bits);
  	ULtoQ((ULong*)L, bits, exp, k);
  	return k;
diff -P -C 2 -r gdtoa/strtorx.c gdtoa-new/strtorx.c
*** gdtoa/strtorx.c	2000-11-01 22:34:18.000000000 -0600
--- gdtoa-new/strtorx.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 96,102 ****
   int
  #ifdef KR_headers
! strtorx(s, sp, rounding, L) CONST char *s; char **sp; int rounding; void *L;
  #else
! strtorx(CONST char *s, char **sp, int rounding, void *L)
  #endif
  {
--- 96,102 ----
   int
  #ifdef KR_headers
! gdtoa__strtorx(s, sp, rounding, L) CONST char *s; char **sp; int rounding; void *L;
  #else
! gdtoa__strtorx(CONST char *s, char **sp, int rounding, void *L)
  #endif
  {
***************
*** 113,117 ****
  		fpi = &fpi1;
  		}
! 	k = strtodg(s, sp, fpi, &exp, bits);
  	ULtox((UShort*)L, bits, exp, k);
  	return k;
--- 113,117 ----
  		fpi = &fpi1;
  		}
! 	k = gdtoa__strtodg(s, sp, fpi, &exp, bits);
  	ULtox((UShort*)L, bits, exp, k);
  	return k;
diff -P -C 2 -r gdtoa/strtorxL.c gdtoa-new/strtorxL.c
*** gdtoa/strtorxL.c	2000-11-01 22:31:40.000000000 -0600
--- gdtoa-new/strtorxL.c	2007-08-06 16:26:02.000000000 -0500
***************
*** 90,96 ****
   int
  #ifdef KR_headers
! strtorxL(s, sp, rounding, L) CONST char *s; char **sp; int rounding; void *L;
  #else
! strtorxL(CONST char *s, char **sp, int rounding, void *L)
  #endif
  {
--- 90,96 ----
   int
  #ifdef KR_headers
! gdtoa__strtorxL(s, sp, rounding, L) CONST char *s; char **sp; int rounding; void *L;
  #else
! gdtoa__strtorxL(CONST char *s, char **sp, int rounding, void *L)
  #endif
  {
***************
*** 107,111 ****
  		fpi = &fpi1;
  		}
! 	k = strtodg(s, sp, fpi, &exp, bits);
  	ULtoxL((ULong*)L, bits, exp, k);
  	return k;
--- 107,111 ----
  		fpi = &fpi1;
  		}
! 	k = gdtoa__strtodg(s, sp, fpi, &exp, bits);
  	ULtoxL((ULong*)L, bits, exp, k);
  	return k;
