packages: libzip/libzip.spec, libzip/libzip-0.10-php-changes.patch (NEW) - ...
glen
glen at pld-linux.org
Mon Sep 26 20:36:55 CEST 2011
Author: glen Date: Mon Sep 26 18:36:55 2011 GMT
Module: packages Tag: HEAD
---- Log message:
- add php changes patch
---- Files affected:
packages/libzip:
libzip.spec (1.14 -> 1.15) , libzip-0.10-php-changes.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/libzip/libzip.spec
diff -u packages/libzip/libzip.spec:1.14 packages/libzip/libzip.spec:1.15
--- packages/libzip/libzip.spec:1.14 Fri Mar 25 14:53:36 2011
+++ packages/libzip/libzip.spec Mon Sep 26 20:36:50 2011
@@ -3,12 +3,14 @@
Summary(pl.UTF-8): Biblioteka C do odczytu, zapisu i modyfikacji archiwów zip
Name: libzip
Version: 0.10
-Release: 2
+Release: 3
License: BSD
Group: Libraries
Source0: http://www.nih.at/libzip/%{name}-%{version}.tar.bz2
# Source0-md5: 663d79a9d299a61026d1860d52cdf6fc
Patch0: %{name}-fix_headers.patch
+# https://bugs.php.net/bug.php?id=39388
+Patch1: http://spot.fedorapeople.org/%{name}-0.10-php-changes.patch
URL: http://www.nih.at/libzip/
BuildRequires: autoconf >= 2.57
BuildRequires: automake
@@ -68,7 +70,6 @@
%install
rm -rf $RPM_BUILD_ROOT
-
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
@@ -111,6 +112,9 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.15 2011/09/26 18:36:50 glen
+- add php changes patch
+
Revision 1.14 2011/03/25 13:53:36 cactus
- add fix_headers patch; rel 2
================================================================
Index: packages/libzip/libzip-0.10-php-changes.patch
diff -u /dev/null packages/libzip/libzip-0.10-php-changes.patch:1.1
--- /dev/null Mon Sep 26 20:36:55 2011
+++ packages/libzip/libzip-0.10-php-changes.patch Mon Sep 26 20:36:50 2011
@@ -0,0 +1,97 @@
+diff -up libzip-0.10/lib/zip_close.c.php libzip-0.10/lib/zip_close.c
+--- libzip-0.10/lib/zip_close.c.php 2011-07-20 11:27:34.081252871 -0400
++++ libzip-0.10/lib/zip_close.c 2011-07-20 11:30:50.176682999 -0400
+@@ -337,6 +337,8 @@ zip_close(struct zip *za)
+ umask(mask);
+ chmod(za->zn, 0666&~mask);
+ #endif
++ if (za->ch_comment)
++ free(za->ch_comment);
+
+ _zip_free(za);
+ free(temp);
+@@ -602,13 +604,15 @@ _zip_create_temp_output(struct zip *za,
+ char *temp;
+ int tfd;
+ FILE *tfp;
++
++ int len = strlen(za->zn) + 8;
+
+- if ((temp=(char *)malloc(strlen(za->zn)+8)) == NULL) {
++ if ((temp=(char *)malloc(len)) == NULL) {
+ _zip_error_set(&za->error, ZIP_ER_MEMORY, 0);
+ return NULL;
+ }
+
+- sprintf(temp, "%s.XXXXXX", za->zn);
++ snprintf(temp, len, "%s.XXXXXX", za->zn);
+
+ if ((tfd=mkstemp(temp)) == -1) {
+ _zip_error_set(&za->error, ZIP_ER_TMPOPEN, errno);
+diff -up libzip-0.10/lib/zip_fclose.c.php libzip-0.10/lib/zip_fclose.c
+--- libzip-0.10/lib/zip_fclose.c.php 2011-07-20 11:38:05.883077282 -0400
++++ libzip-0.10/lib/zip_fclose.c 2011-07-20 11:38:10.452025182 -0400
+@@ -47,12 +47,14 @@ zip_fclose(struct zip_file *zf)
+ if (zf->src)
+ zip_source_free(zf->src);
+
+- for (i=0; i<zf->za->nfile; i++) {
+- if (zf->za->file[i] == zf) {
+- zf->za->file[i] = zf->za->file[zf->za->nfile-1];
+- zf->za->nfile--;
+- break;
+- }
++ if (zf->za) {
++ for (i=0; i<zf->za->nfile; i++) {
++ if (zf->za->file[i] == zf) {
++ zf->za->file[i] = zf->za->file[zf->za->nfile-1];
++ zf->za->nfile--;
++ break;
++ }
++ }
+ }
+
+ ret = 0;
+diff -up libzip-0.10/lib/zip.h.php libzip-0.10/lib/zip.h
+--- libzip-0.10/lib/zip.h.php 2011-07-20 11:39:40.732027472 -0400
++++ libzip-0.10/lib/zip.h 2011-07-20 11:40:28.626521627 -0400
+@@ -59,7 +59,7 @@ extern "C" {
+ #define ZIP_CREATE 1
+ #define ZIP_EXCL 2
+ #define ZIP_CHECKCONS 4
+-
++#define ZIP_OVERWRITE 8
+
+ /* flags for zip_name_locate, zip_fopen, zip_stat, ... */
+
+diff -up libzip-0.10/lib/zipint.h.php libzip-0.10/lib/zipint.h
+diff -up libzip-0.10/lib/zip_open.c.php libzip-0.10/lib/zip_open.c
+--- libzip-0.10/lib/zip_open.c.php 2011-07-20 11:44:01.270451036 -0400
++++ libzip-0.10/lib/zip_open.c 2011-07-20 11:45:33.877629039 -0400
+@@ -61,10 +61,16 @@ ZIP_EXTERN struct zip *
+ zip_open(const char *fn, int flags, int *zep)
+ {
+ FILE *fp;
++
++ if (flags & ZIP_OVERWRITE) {
++ return _zip_allocate_new(fn, zep);
++ }
+
+ switch (_zip_file_exists(fn, flags, zep)) {
+ case -1:
+- return NULL;
++ if (!(flags & ZIP_OVERWRITE)) {
++ return NULL;
++ }
+ case 0:
+ return _zip_allocate_new(fn, zep);
+ default:
+@@ -482,7 +488,7 @@ _zip_file_exists(const char *fn, int fla
+ }
+
+ if (stat(fn, &st) != 0) {
+- if (flags & ZIP_CREATE)
++ if (flags & ZIP_CREATE || flags & ZIP_OVERWRITE)
+ return 0;
+ else {
+ set_error(zep, NULL, ZIP_ER_OPEN);
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/libzip/libzip.spec?r1=1.14&r2=1.15&f=u
More information about the pld-cvs-commit
mailing list