Fix a regression introduced in "chore: Clean up the return statements"

This fixes commit 27e548af2518ff8d278b45c40d11ad1bdd68eaa0.

The macro `png_check_sig` has been deprecated and remained untested
for decades. And yet, somehow it escaped from all past API cleanups.

Also update the libpng manual.

Reported-by: Matthieu Darbois
This commit is contained in:
Cosmin Truta 2024-01-29 15:30:10 +02:00
parent ba980b8f0c
commit ac944e2b36
3 changed files with 10 additions and 10 deletions

View File

@ -357,7 +357,7 @@ Customizing libpng.
return ERROR;
}
is_png = !png_sig_cmp(header, 0, number);
is_png = (png_sig_cmp(header, 0, number) == 0);
if (!is_png)
{
return NOT_PNG;
@ -4692,7 +4692,7 @@ deprecated since libpng-1.0.16 and libpng-1.2.6.
The function
png_check_sig(sig, num)
was replaced with
!png_sig_cmp(sig, 0, num)
png_sig_cmp(sig, 0, num) == 0
It has been deprecated since libpng-0.90.
The function
@ -4756,8 +4756,8 @@ png_get_mmx_bitdepth_threshold(), png_get_mmx_rowbytes_threshold(),
png_set_asm_flags(), and png_mmx_supported()
We removed the obsolete png_check_sig(), png_memcpy_check(), and
png_memset_check() functions. Instead use !png_sig_cmp(), memcpy(),
and memset(), respectively.
png_memset_check() functions. Instead use png_sig_cmp() == 0,
memcpy(), and memset(), respectively.
The function png_set_gray_1_2_4_to_8() was removed. It has been
deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with

View File

@ -876,7 +876,7 @@ Customizing libpng.
return ERROR;
}
is_png = !png_sig_cmp(header, 0, number);
is_png = (png_sig_cmp(header, 0, number) == 0);
if (!is_png)
{
return NOT_PNG;
@ -5211,7 +5211,7 @@ deprecated since libpng-1.0.16 and libpng-1.2.6.
The function
png_check_sig(sig, num)
was replaced with
!png_sig_cmp(sig, 0, num)
png_sig_cmp(sig, 0, num) == 0
It has been deprecated since libpng-0.90.
The function
@ -5275,8 +5275,8 @@ png_get_mmx_bitdepth_threshold(), png_get_mmx_rowbytes_threshold(),
png_set_asm_flags(), and png_mmx_supported()
We removed the obsolete png_check_sig(), png_memcpy_check(), and
png_memset_check() functions. Instead use !png_sig_cmp(), memcpy(),
and memset(), respectively.
png_memset_check() functions. Instead use png_sig_cmp() == 0,
memcpy(), and memset(), respectively.
The function png_set_gray_1_2_4_to_8() was removed. It has been
deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with

4
png.h
View File

@ -914,9 +914,9 @@ PNG_EXPORT(3, int, png_sig_cmp, (png_const_bytep sig, size_t start,
size_t num_to_check));
/* Simple signature checking function. This is the same as calling
* png_check_sig(sig, n) := (png_sig_cmp(sig, 0, n) != 0).
* png_check_sig(sig, n) := (png_sig_cmp(sig, 0, n) == 0).
*/
#define png_check_sig(sig, n) (png_sig_cmp((sig), 0, (n)) != 0)
#define png_check_sig(sig, n) (png_sig_cmp((sig), 0, (n)) == 0) /* DEPRECATED */
/* Allocate and initialize png_ptr struct for reading, and any other memory. */
PNG_EXPORTA(4, png_structp, png_create_read_struct,