]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/extended.c
Fixed some bus in Connect()
[wxWidgets.git] / src / common / extended.c
index a59607f14ca231daae2f29fcf978a99015e3c4d5..6de1ae2aa8487b62d859e84f7e3ce6038257ffa2 100644 (file)
@@ -1,3 +1,4 @@
+#   pragma warning(disable:4001)    /* non standard extension used: single line comment */
 #include "wx/setup.h"
 #include <math.h>
 
@@ -82,16 +83,27 @@ void ConvertToIeeeExtended(double num, unsigned char *bytes)
                }
        }
 
-       bytes[0] = expon >> 8;
-       bytes[1] = expon;
-       bytes[2] = (unsigned char) hiMant >> 24;
-       bytes[3] = (unsigned char) hiMant >> 16;
-       bytes[4] = (unsigned char) hiMant >> 8;
-       bytes[5] = (unsigned char) hiMant;
-       bytes[6] = (unsigned char) loMant >> 24;
-       bytes[7] = (unsigned char) loMant >> 16;
-       bytes[8] = (unsigned char) loMant >> 8;
-       bytes[9] = (unsigned char) loMant;
+    /* disable the warning about 'possible loss of data' & 'conversion between diff types' */
+    #ifdef _MSC_VER
+        #pragma warning(disable: 4244)
+        #pragma warning(disable: 4135)
+    #endif /* Visual C++ */
+
+       bytes[0] = (expon >> 8) & 0xff;
+       bytes[1] = expon & 0xff;
+       bytes[2] = (unsigned char) ((hiMant >> 24) & 0xff);
+       bytes[3] = (unsigned char) ((hiMant >> 16) & 0xff);
+       bytes[4] = (unsigned char) ((hiMant >> 8) & 0xff);
+       bytes[5] = (unsigned char) (hiMant & 0xff);
+       bytes[6] = (unsigned char) ((loMant >> 24) & 0xff);
+       bytes[7] = (unsigned char) ((loMant >> 16) & 0xff);
+       bytes[8] = (unsigned char) ((loMant >> 8) & 0xff);
+       bytes[9] = (unsigned char) (loMant & 0xff);
+
+    #ifdef _MSC_VER
+        #pragma warning(default: 4244)
+        #pragma warning(default: 4135)
+    #endif /* Visual C++ */
 }
 
 /*
@@ -176,4 +188,4 @@ double ConvertFromIeeeExtended(const unsigned char *bytes)
                return f;
 }
 
-#endif // wxUSE_APPLE_IEEE
+#endif /* wxUSE_APPLE_IEEE */