]> 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 b3e2bd8cd690f2c805e97e7031fb5b9a9a73fcf3..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:
@@ -9,7 +9,7 @@
 
 
 #if defined(_WIN32_WCE)
-    // eVC cause warnings in its own headers: stdlib.h and winnt.h
+    /* eVC cause warnings in its own headers: stdlib.h and winnt.h */
     #pragma warning (disable:4115)
     #pragma warning (disable:4214)
 #endif
  * and a 64-bit mantissa, with no hidden bit.
  ****************************************************************/
 
-wxFloat64 ConvertFromIeeeExtended(const wxInt8 *bytes)
+WXDLLIMPEXP_BASE wxFloat64 wxConvertFromIeeeExtended(const wxInt8 *bytes)
 {
     wxFloat64 f;
     wxInt32 expon;
@@ -145,7 +145,7 @@ wxFloat64 ConvertFromIeeeExtended(const 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 */