]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/imagpng.cpp
corrected DoReadLong
[wxWidgets.git] / src / common / imagpng.cpp
index 016e594e2bd1194fd778317d062f3e5ffdb4c5ba..b41838fa22506c618095de94ee3cb7975773f19c 100644 (file)
@@ -56,20 +56,19 @@ IMPLEMENT_DYNAMIC_CLASS(wxPNGHandler,wxImageHandler)
 
 #if wxUSE_LIBPNG
 
 
 #if wxUSE_LIBPNG
 
-#if defined(__VISAGECPP__)
-#define PNGLINKAGEMODE _Optlink
-#elif defined(__WATCOMC__) && !defined(__DOS__)
-#define PNGLINKAGEMODE _cdecl
-#else
-#define PNGLINKAGEMODE
+#ifndef PNGLINKAGEMODE
+  #define PNGLINKAGEMODE LINKAGEMODE
 #endif
 
 #endif
 
-static void PNGLINKAGEMODE _PNG_stream_reader( png_structp png_ptr, png_bytep data, png_size_t length )
+extern "C"
+{
+
+void PNGLINKAGEMODE _PNG_stream_reader( png_structp png_ptr, png_bytep data, png_size_t length )
 {
     ((wxInputStream*) png_get_io_ptr( png_ptr )) -> Read(data, length);
 }
 
 {
     ((wxInputStream*) png_get_io_ptr( png_ptr )) -> Read(data, length);
 }
 
-static void PNGLINKAGEMODE _PNG_stream_writer( png_structp png_ptr, png_bytep data, png_size_t length )
+void PNGLINKAGEMODE _PNG_stream_writer( png_structp png_ptr, png_bytep data, png_size_t length )
 {
     ((wxOutputStream*) png_get_io_ptr( png_ptr )) -> Write(data, length);
 }
 {
     ((wxOutputStream*) png_get_io_ptr( png_ptr )) -> Write(data, length);
 }
@@ -95,6 +94,8 @@ PNGLINKAGEMODE png_silent_warning(png_structp WXUNUSED(png_ptr), png_const_charp
 {
 }
 
 {
 }
 
+} // extern "C"
+
 // temporarily disable the warning C4611 (interaction between '_setjmp' and
 // C++ object destruction is non-portable) - I don't see any dtors here
 #ifdef __VISUALC__
 // temporarily disable the warning C4611 (interaction between '_setjmp' and
 // C++ object destruction is non-portable) - I don't see any dtors here
 #ifdef __VISUALC__