diff --git a/build/__pycache__/amsbuildlib4.cpython-311.pyc b/build/__pycache__/amsbuildlib4.cpython-311.pyc new file mode 100644 index 0000000..e7c429e Binary files /dev/null and b/build/__pycache__/amsbuildlib4.cpython-311.pyc differ diff --git a/build/make.linux64.so.py b/build/make.linux64.so.py index 9c9c283..6c6c44e 100644 --- a/build/make.linux64.so.py +++ b/build/make.linux64.so.py @@ -19,7 +19,7 @@ cc = "gcc" #compiler # -fvisibility=hidden -- stripping symbols to avoid namespace pollution doesn't seem to work on Linux cflags = "-fPIC -O3 -DEXPORT_AMSCIMGLIB4" libraries = "-l{} -ljpeg -lpng -lz -lm".format(libname) -libdirs = "-L{} -L{}/lib -L{}/lib".format(builddir,commondir,depdir) +libdirs = "-L{} -L{}/lib -L{}/lib".format(builddir,depdir,commondir) linkerflags = "-shared -Wl,-rpath=. -Wl,--out-implib={}/lib{}.a".format(builddir,libname) srcexts = [".c",".cpp"] binsrc = ["main.c","main.cpp"] #ignore these files when compiling the static library diff --git a/build_linux64/libamscimglib4.linux64.a b/build_linux64/libamscimglib4.linux64.a index cdfd001..f0080c0 100644 Binary files a/build_linux64/libamscimglib4.linux64.a and b/build_linux64/libamscimglib4.linux64.a differ diff --git a/build_linux64/libamscimglib4.linux64.so b/build_linux64/libamscimglib4.linux64.so index 6500a61..ed50d8b 100644 Binary files a/build_linux64/libamscimglib4.linux64.so and b/build_linux64/libamscimglib4.linux64.so differ diff --git a/build_linux64/objstore/amscimglib4_png.o b/build_linux64/objstore/amscimglib4_png.o index 7fa9f26..2547091 100644 Binary files a/build_linux64/objstore/amscimglib4_png.o and b/build_linux64/objstore/amscimglib4_png.o differ diff --git a/build_mingw64/libamscimglib4.winx64.dll b/build_mingw64/libamscimglib4.winx64.dll index 3392d85..4cc87b2 100644 Binary files a/build_mingw64/libamscimglib4.winx64.dll and b/build_mingw64/libamscimglib4.winx64.dll differ diff --git a/build_mingw64/objstore/amscimglib4_bitmap.o b/build_mingw64/objstore/amscimglib4_bitmap.o index a14307f..4beb917 100644 Binary files a/build_mingw64/objstore/amscimglib4_bitmap.o and b/build_mingw64/objstore/amscimglib4_bitmap.o differ diff --git a/build_mingw64/objstore/amscimglib4_image.o b/build_mingw64/objstore/amscimglib4_image.o index 22c723d..db1a11d 100644 Binary files a/build_mingw64/objstore/amscimglib4_image.o and b/build_mingw64/objstore/amscimglib4_image.o differ diff --git a/build_mingw64/objstore/amscimglib4_jpeg.o b/build_mingw64/objstore/amscimglib4_jpeg.o index fb04b28..7d6a3d9 100644 Binary files a/build_mingw64/objstore/amscimglib4_jpeg.o and b/build_mingw64/objstore/amscimglib4_jpeg.o differ diff --git a/build_mingw64/objstore/amscimglib4_png.o b/build_mingw64/objstore/amscimglib4_png.o index 3e7baf3..71c181e 100644 Binary files a/build_mingw64/objstore/amscimglib4_png.o and b/build_mingw64/objstore/amscimglib4_png.o differ diff --git a/build_mingw64/objstore/amscimglib4_templatetest.o b/build_mingw64/objstore/amscimglib4_templatetest.o index 2c78bb4..905aff1 100644 Binary files a/build_mingw64/objstore/amscimglib4_templatetest.o and b/build_mingw64/objstore/amscimglib4_templatetest.o differ diff --git a/build_mingw64/objstore/amscimglib4_tests.o b/build_mingw64/objstore/amscimglib4_tests.o index 97e8df3..c6b58dc 100644 Binary files a/build_mingw64/objstore/amscimglib4_tests.o and b/build_mingw64/objstore/amscimglib4_tests.o differ diff --git a/build_mingw64/objstore/amscimglib4_tests2.o b/build_mingw64/objstore/amscimglib4_tests2.o index 3f2efa9..4209514 100644 Binary files a/build_mingw64/objstore/amscimglib4_tests2.o and b/build_mingw64/objstore/amscimglib4_tests2.o differ diff --git a/build_mingw64/objstore/amscimglib4_util.o b/build_mingw64/objstore/amscimglib4_util.o index b2eb0c7..7bc8ae0 100644 Binary files a/build_mingw64/objstore/amscimglib4_util.o and b/build_mingw64/objstore/amscimglib4_util.o differ diff --git a/build_mingw64/tests.exe b/build_mingw64/tests.exe index 0ca4a3f..3d59a8d 100644 Binary files a/build_mingw64/tests.exe and b/build_mingw64/tests.exe differ diff --git a/include/amscimglib4/amscimglib4.h b/include/amscimglib4/amscimglib4.h index a493876..4f32a8a 100644 --- a/include/amscimglib4/amscimglib4.h +++ b/include/amscimglib4/amscimglib4.h @@ -119,7 +119,7 @@ AMSCIMGLIB4_API void amscimglib4_readimage_jpeg(const char *fname, amscimglib4_i AMSCIMGLIB4_API void amscimglib4_writeimage_jpeg(const char *fname, amscimglib4_image *img, int quality); //Read and write PNG files from memory buffers -AMSCIMGLIB4_API int amscimglib4_pngbytebuffer_to_img(amscimglib4_image *img, unsigned char *bytebuffer, long nbytes); +AMSCIMGLIB4_API int amscimglib4_pngbytebuffer_to_img(amscimglib4_image *img, const unsigned char *bytebuffer, long nbytes); //returns length required for a bytebuffer to store img as a png AMSCIMGLIB4_API long amscimglib4_pngbytebufferlen(amscimglib4_image *img); diff --git a/src/amscimglib4/amscimglib4_png.c b/src/amscimglib4/amscimglib4_png.c index 5e02a2f..76b3199 100644 --- a/src/amscimglib4/amscimglib4_png.c +++ b/src/amscimglib4/amscimglib4_png.c @@ -147,7 +147,7 @@ AMSCIMGLIB4_API void amscimglib4_writeimage_png(const char *fname, amscimglib4_i //Reads and writes png data to and from a bytebuffer in memory (for compression) -AMSCIMGLIB4_API int amscimglib4_pngbytebuffer_to_img(amscimglib4_image *img, unsigned char *bytebuffer, long nbytes) +AMSCIMGLIB4_API int amscimglib4_pngbytebuffer_to_img(amscimglib4_image *img, const unsigned char *bytebuffer, long nbytes) { int ret = amscimglib4_success; int res; @@ -227,6 +227,7 @@ AMSCIMGLIB4_API long amscimglib4_pngbytebufferlen(amscimglib4_image *img) png_image pngimage; + memset(&pngimage,0,sizeof(pngimage)); //fills memory with zeros pngimage.version = PNG_IMAGE_VERSION; pngimage.format = PNG_FORMAT_RGBA; pngimage.width = img->sizex; @@ -260,6 +261,7 @@ AMSCIMGLIB4_API int amscimglib4_pngbytebuffer_from_img(amscimglib4_image *img, u png_image pngimage; png_alloc_size_t bufflen2 = bufflen; + memset(&pngimage,0,sizeof(pngimage)); //fills memory with zeros pngimage.version = PNG_IMAGE_VERSION; pngimage.format = PNG_FORMAT_RGBA; pngimage.width = img->sizex;