fix mismatched signatures for strtod_l family
[musl] / src / fenv / fesetround.c
index 9bbd4ad..4e2f164 100644 (file)
@@ -1,23 +1,23 @@
 #include <fenv.h>
+#include <features.h>
 
 /* __fesetround wrapper for arch independent argument check */
 
-int __fesetround(int);
+hidden int __fesetround(int);
 
 int fesetround(int r)
 {
-       if (r & ~(
-               FE_TONEAREST
+       if (r != FE_TONEAREST
 #ifdef FE_DOWNWARD
-               |FE_DOWNWARD
+               && r != FE_DOWNWARD
 #endif
 #ifdef FE_UPWARD
-               |FE_UPWARD
+               && r != FE_UPWARD
 #endif
 #ifdef FE_TOWARDZERO
-               |FE_TOWARDZERO
+               && r != FE_TOWARDZERO
 #endif
-               ))
+       )
                return -1;
        return __fesetround(r);
 }