getdelim: Use SIZE_MAX from stdint.h.
[gnulib.git] / lib / isnan.c
index 182a7bd..a5ca38d 100644 (file)
@@ -1,5 +1,5 @@
 /* Test for NaN that does not need libm.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -36,7 +36,7 @@
 # define SIZE SIZEOF_LDBL
 # define L_(literal) literal##L
 #elif ! defined USE_FLOAT
-# define FUNC rpl_isnan
+# define FUNC rpl_isnand
 # define DOUBLE double
 # define MAX_EXP DBL_MAX_EXP
 # define MIN_EXP DBL_MIN_EXP
@@ -146,8 +146,10 @@ FUNC (DOUBLE x)
       memory_double m1;
       memory_double m2;
 
+      memset (&m1.value, 0, SIZE);
+      memset (&m2.value, 0, SIZE);
       m1.value = x;
-      m2.value = x + 0;
+      m2.value = x + (x ? 0.0L : -0.0L);
       if (memcmp (&m1.value, &m2.value, SIZE) != 0)
         return 1;
 # endif