*
* Taken from the FreeBSD distribution.
*/
+#include <glib.h>
+
#include "strtod.h"
/*-
#if defined(i386) || defined(mips) && defined(MIPSEL) || defined (__arm__)
#define IEEE_8087
-#define Long long
#elif defined(__x86_64__)
#define IEEE_8087
-#define Long int
#elif defined(__ia64)
-# ifndef __LP64__
-# define Long long
-# else
-# define Long int
-# endif
# ifdef __hpux
# define IEEE_MC68k
# else
#elif defined(__hppa)
# define IEEE_MC68k
-# ifndef __LP64__
-# define Long long
-# else
-# define Long int
-# endif
#else
#define IEEE_MC68k
-#define Long long
#endif
-#define ULong unsigned Long
+#define Long gint32
+#define ULong guint32
#ifdef DEBUG
#include "stdio.h"
* #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
*/
#if defined(IEEE_8087) + defined(VAX)
-#define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \
-((unsigned short *)a)[0] = (unsigned short)c, a++)
+#define Storeinc(a,b,c) do { (((unsigned short *)a)[1] = (unsigned short)b, \
+((unsigned short *)a)[0] = (unsigned short)c); a ++; } while (0)
#else
#define Storeinc(a,b,c) (((unsigned short *)a)[0] = (unsigned short)b, \
((unsigned short *)a)[1] = (unsigned short)c, a++)
xb = b->x;
xbe = xb + wb;
xc0 = c->x;
+
#ifdef Pack_32
for (; xb < xbe; xb++, xc0++) {
if ( (y = *xb & 0xffff) ) {