packages: imlib/imlib-libpng15.patch (NEW)=?UTF-8?Q?=20?=- new, based on openbsd patches
adamg
adamg at pld-linux.org
Sun Feb 12 14:38:50 CET 2012
Author: adamg Date: Sun Feb 12 13:38:50 2012 GMT
Module: packages Tag: HEAD
---- Log message:
- new, based on openbsd patches
---- Files affected:
packages/imlib:
imlib-libpng15.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/imlib/imlib-libpng15.patch
diff -u /dev/null packages/imlib/imlib-libpng15.patch:1.1
--- /dev/null Sun Feb 12 14:38:50 2012
+++ packages/imlib/imlib-libpng15.patch Sun Feb 12 14:38:45 2012
@@ -0,0 +1,236 @@
+$OpenBSD: patch-Imlib_utils_c,v 1.4 2011/07/08 20:36:09 naddy Exp $
+--- Imlib/utils.c.orig Fri Mar 22 07:43:04 2002
++++ Imlib/utils.c Mon Jul 4 17:36:44 2011
+@@ -801,6 +801,7 @@ Imlib_crop_and_clone_image(ImlibData * id, ImlibImage
+ unsigned char *ptr1, *ptr2;
+ ImlibImage *im2;
+ char *s;
++ size_t s_size;
+
+ if (!im)
+ return NULL;
+@@ -872,10 +873,11 @@ Imlib_crop_and_clone_image(ImlibData * id, ImlibImage
+ im2->rgb_width = w;
+ im2->rgb_height = h;
+ im2->alpha_data = NULL;
+- s = malloc(strlen(im->filename) + 320);
++ s_size = strlen(im->filename + 320);
++ s = malloc(s_size);
+ if (s)
+ {
+- snprintf(s, sizeof(s), "%s_%x_%x", im->filename, (int)time(NULL), (int)rand());
++ snprintf(s, s_size, "%s_%x_%x", im->filename, (int)time(NULL), (int)rand());
+ im2->filename = malloc(strlen(s) + 1);
+ if (im2->filename)
+ strcpy(im2->filename, s);
+@@ -1211,6 +1213,7 @@ Imlib_clone_image(ImlibData * id, ImlibImage * im)
+ {
+ ImlibImage *im2;
+ char *s;
++ size_t s_size;
+
+ if (!im)
+ return NULL;
+@@ -1239,10 +1242,11 @@ Imlib_clone_image(ImlibData * id, ImlibImage * im)
+ }
+ else
+ im2->alpha_data = NULL;
+- s = malloc(strlen(im->filename) + 320);
++ s_size = strlen(im->filename) + 320;
++ s = malloc(s_size);
+ if (s)
+ {
+- snprintf(s, sizeof(s), "%s_%x_%x", im->filename, (int)time(NULL), (int)rand());
++ snprintf(s, s_size, "%s_%x_%x", im->filename, (int)time(NULL), (int)rand());
+ im2->filename = malloc(strlen(s) + 1);
+ if (im2->filename)
+ strcpy(im2->filename, s);
+@@ -1285,6 +1289,7 @@ Imlib_clone_scaled_image(ImlibData * id, ImlibImage *
+ {
+ ImlibImage *im2;
+ char *s;
++ size_t s_size;
+
+ if ((!im) || (w <= 0) || (h <= 0))
+ return NULL;
+@@ -1417,10 +1422,11 @@ Imlib_clone_scaled_image(ImlibData * id, ImlibImage *
+ }
+ else
+ im2->alpha_data = NULL;
+- s = malloc(strlen(im->filename) + 320);
++ s_size = strlen(im->filename) + 320;
++ s = malloc(s_size);
+ if (s)
+ {
+- snprintf(s, sizeof(s), "%s_%x_%x_%x_%x", im->filename, (int)time(NULL), w, h, (int)rand());
++ snprintf(s, s_size, "%s_%x_%x_%x_%x", im->filename, (int)time(NULL), w, h, (int)rand());
+ im2->filename = malloc(strlen(s) + 1);
+ if (im2->filename)
+ strcpy(im2->filename, s);
+@@ -1596,7 +1602,7 @@ Imlib_create_image_from_xpm_data(ImlibData * id, char
+ {
+ if (line[k] != ' ')
+ {
+- sscanf(&line[k], "%65536s", s);
++ sscanf(&line[k], "%255s", s);
+ k += strlen(s);
+ if (!strcmp(s, "c"))
+ iscolor = 1;
+@@ -1959,13 +1965,13 @@ Imlib_inlined_png_to_image(ImlibData *id, unsigned cha
+ return NULL;
+ }
+
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+$OpenBSD: patch-Imlib_load_c,v 1.7 2011/07/08 20:36:09 naddy Exp $
+--- Imlib/load.c.orig Fri Mar 22 07:43:04 2002
++++ Imlib/load.c Mon Jul 4 17:33:14 2011
+@@ -191,12 +191,12 @@ _LoadPNG(ImlibData * id, FILE * f, int *w, int *h, int
+ png_destroy_read_struct(&png_ptr, NULL, NULL);
+ return NULL;
+ }
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+@@ -254,7 +254,8 @@ _LoadPNG(ImlibData * id, FILE * f, int *w, int *h, int
+ png_read_image(png_ptr, lines);
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ ptr = data;
+- if (color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++ if (color_type == PNG_COLOR_TYPE_GRAY
++ || color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+ {
+ for (y = 0; y < *h; y++)
+ {
+@@ -1061,7 +1098,7 @@ _LoadXPM(ImlibData * id, FILE *file, int *w, int *h, i
+ if (line[k] != ' ')
+ {
+ s[0] = 0;
+- sscanf(&line[k], "%256s", s);
++ sscanf(&line[k], "%255s", s);
+ slen = strlen(s);
+ k += slen;
+ if (!strcmp(s, "c"))
+@@ -1861,7 +1898,7 @@ Imlib_load_image(ImlibData * id, char *file)
+ free(im);
+ return NULL;
+ }
+- sscanf(s, "%256s %i", s1, &num);
++ sscanf(s, "%255s %i", s1, &num);
+ if (num <= 0)
+ {
+ fclose(p);
+@@ -1870,10 +1907,10 @@ Imlib_load_image(ImlibData * id, char *file)
+ }
+ while (fgets(s, 4096, p))
+ {
+- sscanf(s, "%256s", s1);
++ sscanf(s, "%255s", s1);
+ if (!strcmp("IMAGE", s1))
+ {
+- sscanf(s, "%256s %i %256s %i %i %i %i %i %i %i %i %i", s1, &size,
++ sscanf(s, "%255s %i %255s %i %i %i %i %i %i %i %i %i", s1, &size,
+ s2, &w, &h, &r, &g, &b, &bl, &br, &bt, &bb);
+ if (!iden[0])
+ break;
+$OpenBSD: patch-gdk_imlib_io-png_c,v 1.4 2011/07/08 20:36:09 naddy Exp $
+
+Fix build with png-1.5.
+
+--- gdk_imlib/io-png.c.orig Mon Mar 4 10:06:29 2002
++++ gdk_imlib/io-png.c Mon Jul 4 17:01:55 2011
+@@ -40,13 +40,13 @@ loader_png (FILE * f, int *w, int *h, int *t)
+ return NULL;
+ }
+
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+@@ -275,13 +275,13 @@ inline_png(unsigned char *data, int data_size)
+ return NULL;
+ }
+
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+@@ -301,6 +301,8 @@ inline_png(unsigned char *data, int data_size)
+ /* Setup Translators */
+ if (color_type == PNG_COLOR_TYPE_PALETTE)
+ png_set_expand(png_ptr);
++ if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
++ png_set_expand(png_ptr);
+ png_set_strip_16(png_ptr);
+ png_set_packing(png_ptr);
+ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))
+@@ -440,13 +442,13 @@ _loader_alpha_png (FILE * f, int *w, int *h, int *t, u
+ return NULL;
+ }
+
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+@@ -635,7 +637,7 @@ saver_png (GdkImlibImage *im, char *file, GdkImlibSave
+ png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+ return 0;
+ }
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ fclose(f);
+ png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+--- Imlib/save.c~ 2004-09-21 02:22:59.000000000 +0200
++++ Imlib/save.c 2012-02-12 14:36:50.271138211 +0100
+@@ -342,7 +342,7 @@
+ png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+ return 0;
+ }
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ fclose(f);
+ png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
================================================================
More information about the pld-cvs-commit
mailing list