#if wxUSE_LIBPNG
-#if defined(__VISAGECPP__)
-#define PNGLINKAGEMODE _Optlink
-#elif defined(__WATCOMC__)
-#define PNGLINKAGEMODE _cdecl
-#else
-#define PNGLINKAGEMODE
+#ifndef PNGLINKAGEMODE
+ #define PNGLINKAGEMODE LINKAGEMODE
#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);
}
-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);
}
{
}
+} // 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__