]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/extended.c
fixing overrelease and out-of-bounds write, fixes #13725
[wxWidgets.git] / src / common / extended.c
index 863e4878a2a97224062cb1a1032ea343c6e0d773..2b6f4eb3aa6e637ebbeaaaef6c814eeac99a3758 100644 (file)
@@ -1,5 +1,5 @@
 /*****************************************************************************
-** Name:        extended.c
+** Name:        src/common/extended.c
 ** Purpose:     IEEE Extended<->Double routines to save floats to file
 ** Maintainer:  Ryan Norton
 ** Modified by:
@@ -8,8 +8,8 @@
 *****************************************************************************/
 
 
-#if defined(_WIN32_WCE) && (_WIN32_WCE < 400)
-    // eVC3 cause warnings in its own headers: stdlib.h and winnt.h
+#if defined(_WIN32_WCE)
+    /* eVC cause warnings in its own headers: stdlib.h and winnt.h */
     #pragma warning (disable:4115)
     #pragma warning (disable:4214)
 #endif
@@ -21,7 +21,7 @@
 #include <string.h>
 #include "wx/defs.h"
 
-#if defined(_WIN32_WCE) && (_WIN32_WCE < 400)
+#if defined(_WIN32_WCE)
     #pragma warning (default:4115)
     #pragma warning (default:4214)
 #endif
  * and a 64-bit mantissa, with no hidden bit.
  ****************************************************************/
 
-wxFloat64 ConvertFromIeeeExtended(wxInt8* bytes)
+WXDLLIMPEXP_BASE wxFloat64 wxConvertFromIeeeExtended(const wxInt8 *bytes)
 {
     wxFloat64 f;
     wxInt32 expon;
@@ -145,7 +145,7 @@ wxFloat64 ConvertFromIeeeExtended(wxInt8* bytes)
 /****************************************************************/
 
 
-void ConvertToIeeeExtended(wxFloat64 num, wxInt8 *bytes)
+WXDLLIMPEXP_BASE void wxConvertToIeeeExtended(wxFloat64 num, wxInt8 *bytes)
 {
     wxInt32 sign;
     wxInt32 expon;
@@ -191,6 +191,16 @@ void ConvertToIeeeExtended(wxFloat64 num, wxInt8 *bytes)
     bytes[9] = loMant;
 }
 
+#if WXWIN_COMPATIBILITY_2_8
+WXDLLIMPEXP_BASE wxFloat64 ConvertFromIeeeExtended(const wxInt8 *bytes)
+{
+    return wxConvertFromIeeeExtended(bytes);
+}
 
+WXDLLIMPEXP_BASE void ConvertToIeeeExtended(wxFloat64 num, wxInt8 *bytes)
+{
+    wxConvertToIeeeExtended(num, bytes);
+}
+#endif // WXWIN_COMPATIBILITY_2_8
 
 #endif /* wxUSE_APPLE_IEEE */