diff --git a/png.c b/png.c index 9a7344a5c..848fd61b2 100644 --- a/png.c +++ b/png.c @@ -2978,7 +2978,12 @@ png_ascii_from_fixed(png_const_structrp png_ptr, png_charp ascii, #endif /* READ_SCAL */ #if defined(PNG_FLOATING_POINT_SUPPORTED) && \ - !defined(PNG_FIXED_POINT_MACRO_SUPPORTED) + !defined(PNG_FIXED_POINT_MACRO_SUPPORTED) && \ + (defined(PNG_gAMA_SUPPORTED) || defined(PNG_cHRM_SUPPORTED) || \ + defined(PNG_sCAL_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) || \ + defined(PNG_READ_RGB_TO_GRAY_SUPPORTED)) || \ + (defined(PNG_sCAL_SUPPORTED) && \ + defined(PNG_FLOATING_ARITHMETIC_SUPPORTED)) png_fixed_point png_fixed(png_const_structrp png_ptr, double fp, png_const_charp text) { diff --git a/pngpriv.h b/pngpriv.h index 6a4b818bf..afe0c291a 100644 --- a/pngpriv.h +++ b/pngpriv.h @@ -749,8 +749,13 @@ PNG_INTERNAL_FUNCTION(void,png_free_buffer_list,(png_structrp png_ptr, /* Free the buffer list used by the compressed write code. */ #endif -#if defined PNG_FLOATING_POINT_SUPPORTED &&\ - !defined PNG_FIXED_POINT_MACRO_SUPPORTED +#if defined(PNG_FLOATING_POINT_SUPPORTED) && \ + !defined(PNG_FIXED_POINT_MACRO_SUPPORTED) && \ + (defined(PNG_gAMA_SUPPORTED) || defined(PNG_cHRM_SUPPORTED) || \ + defined(PNG_sCAL_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) || \ + defined(PNG_READ_RGB_TO_GRAY_SUPPORTED)) || \ + (defined(PNG_sCAL_SUPPORTED) && \ + defined(PNG_FLOATING_ARITHMETIC_SUPPORTED)) PNG_INTERNAL_FUNCTION(png_fixed_point,png_fixed,(png_const_structrp png_ptr, double fp, png_const_charp text),PNG_EMPTY); #endif