c++.beta - dmc bug in png lib
- chris elliott <biol75 york.ac.uk> Oct 06 2007
- Walter Bright <newshound1 digitalmars.com> Oct 11 2007
- chris elliott <biol75 york.ac.uk> Oct 25 2007
- Walter Bright <newshound1 digitalmars.com> Oct 26 2007
Walter, I think this is a dmc bug: I found it within the wxWidgets
library when a new version of png was introduced.
This is a reduced version of pngrutil.c
I'm compiling it with
dmc -mn -c -opngrutil.obj -g -o+none -D_WIN32_WINNT=0x0400
-I..\..\src\zlib pngrutil.c
please let me know if you see the bug too, or if i can provide any
further information
chris
/* pngrutil.c - utilities to read a PNG file
*
* Last changed in libpng 1.2.19 August 19, 2007
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2007 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42,
Inc.)
*
* This file contains routines that are only called from within
* libpng itself during the course of reading an image.
*/
#include "png.h"
png_charp /* PRIVATE */
png_decompress_chunk( png_structp png_ptr, int comp_type,
/* png_charp chunkdata, png_size_t
chunklength,
png_size_t prefix_size, png_size_t
*newlength */ )
{
int ret = 0;
if (ret != 1)
{
char umsg[52];
/* IF YOU REMOVE THIS COMMENT IT FAILS AT png_snprintf(umsg, 50,
"Unknown zTXt compression type %d", comp_type);
if (ret == 2)
png_snprintf(umsg, 52,
"Buffer error in compressed datastream in %s chunk",
png_ptr->chunk_name);
else if (ret == 3)
png_snprintf(umsg, 52,
"Data error in compressed datastream in %s chunk",
png_ptr->chunk_name);
else
png_snprintf(umsg, 52,
"Incomplete compressed datastream in %s chunk",
png_ptr->chunk_name);
png_warning(png_ptr, umsg);
*/
}
else /* if (comp_type != PNG_COMPRESSION_TYPE_BASE) */
{
char umsg[50];
png_snprintf(umsg, 50,
"Unknown zTXt compression type %d", comp_type);
png_warning(png_ptr, umsg);
}
}
Oct 06 2007
chris elliott wrote:Walter, I think this is a dmc bug: I found it within the wxWidgets library when a new version of png was introduced.
Please try to reduce it to a standalone code snippet, please.
Oct 11 2007
Walter Bright wrote:chris elliott wrote:Walter, I think this is a dmc bug: I found it within the wxWidgets library when a new version of png was introduced.
Please try to reduce it to a standalone code snippet, please.
--------------------chris.c---------------------------------- # define png_snprintf snprintf /* Added to v 1.2.19 */ # define png_snprintf2 snprintf # define png_snprintf6 snprintf int main () { char umsg[50]; char umsg2[50]; int comp_type = 10; /*comment the next line and the second png_snprintf is compiled OK */ png_snprintf(umsg, 50, "Unknown zTXt compression type %s", "hello"); png_snprintf(umsg2, 50, "Unknown zTXt compression type %d", comp_type); }
Oct 25 2007








Walter Bright <newshound1 digitalmars.com>