summaryrefslogtreecommitdiff
path: root/src/Fl_PNG_Image.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Fl_PNG_Image.cxx')
-rw-r--r--src/Fl_PNG_Image.cxx28
1 files changed, 15 insertions, 13 deletions
diff --git a/src/Fl_PNG_Image.cxx b/src/Fl_PNG_Image.cxx
index 9f8e368b3..3f5164fee 100644
--- a/src/Fl_PNG_Image.cxx
+++ b/src/Fl_PNG_Image.cxx
@@ -51,20 +51,22 @@ typedef struct {
const unsigned char *last;
} fl_png_memory;
-static void png_read_data_from_mem( png_structp png_ptr, //pointer to our data
- png_bytep data, // where to copy the image data for libpng computing
- png_size_t length) // length of data to copy
-{
- fl_png_memory *png_mem_data = (fl_png_memory*)png_get_io_ptr(png_ptr); // get the pointer to our struct
- if (png_mem_data->current + length > png_mem_data->last) {
- png_error(png_mem_data->pp, "Invalid attempt to read row data");
- return;
+extern "C" {
+ static void png_read_data_from_mem( png_structp png_ptr, //pointer to our data
+ png_bytep data, // where to copy the image data for libpng computing
+ png_size_t length) // length of data to copy
+ {
+ fl_png_memory *png_mem_data = (fl_png_memory*)png_get_io_ptr(png_ptr); // get the pointer to our struct
+ if (png_mem_data->current + length > png_mem_data->last) {
+ png_error(png_mem_data->pp, "Invalid attempt to read row data");
+ return;
+ }
+ /* copy data from image buffer */
+ memcpy (data, png_mem_data->current, length);
+ /* advance in the memory data */
+ png_mem_data->current += length;
}
- /* copy data from image buffer */
- memcpy (data, png_mem_data->current, length);
- /* advance in the memory data */
- png_mem_data->current += length;
-}
+} // extern "C"
#endif // HAVE_LIBPNG && HAVE_LIBZ