more portable constructs


git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@325 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/skeletons/REAL.c b/skeletons/REAL.c
index ea37965..5ec56e4 100644
--- a/skeletons/REAL.c
+++ b/skeletons/REAL.c
@@ -257,7 +257,7 @@
 		}
 		/* fpclassify(3) is not portable yet */
 		if(expval == -INT_MAX) {
-			if(signbit(dbl_value)) {
+			if(copysign(1.0, dbl_value) < 0.0) {
 				st->buf[0] = 0x80 | 0x40;
 				st->buf[1] = 0;
 				st->size = 2;
@@ -266,7 +266,7 @@
 				st->size = 0;
 			}
 		} else if(isinf(dbl_value)) {
-			if(signbit(dbl_value)) {
+			if(copysign(1.0, dbl_value) < 0.0) {
 				st->buf[0] = 0x41;	/* MINUS-INFINITY */
 			} else {
 				st->buf[0] = 0x40;	/* PLUS-INFINITY */