[packages/icu] - added flagparser patch (fixes pkgdata program operation with longer flags in icupkg.inc) - release

qboosh qboosh at pld-linux.org
Sun Nov 15 21:26:34 CET 2015


commit 47c2d3b90695c96b64cf3f54208ba7a3d540a7c7
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Nov 15 21:26:57 2015 +0100

    - added flagparser patch (fixes pkgdata program operation with longer flags in icupkg.inc)
    - release 2

 icu-flagparser.patch | 38 ++++++++++++++++++++++++++++++++++++++
 icu.spec             |  4 +++-
 2 files changed, 41 insertions(+), 1 deletion(-)
---
diff --git a/icu.spec b/icu.spec
index 4130927..0761d9e 100644
--- a/icu.spec
+++ b/icu.spec
@@ -7,11 +7,12 @@ Summary:	International Components for Unicode
 Summary(pl.UTF-8):	Międzynarodowe komponenty dla unikodu
 Name:		icu
 Version:	56.1
-Release:	1
+Release:	2
 License:	MIT-like
 Group:		Libraries
 Source0:	http://download.icu-project.org/files/icu4c/%{version}/%{name}4c-%{ver}-src.tgz
 # Source0-md5:	c4a2d71ff56aec5ebfab2a3f059be99d
+Patch0:		%{name}-flagparser.patch
 URL:		http://www.icu-project.org/
 BuildRequires:	autoconf >= 2.69
 BuildRequires:	libstdc++-devel
@@ -94,6 +95,7 @@ biblioteki programistyczne ICU.
 
 %prep
 %setup -q -n %{name}
+%patch0 -p1
 
 %build
 cd source
diff --git a/icu-flagparser.patch b/icu-flagparser.patch
new file mode 100644
index 0000000..61d214c
--- /dev/null
+++ b/icu-flagparser.patch
@@ -0,0 +1,38 @@
+In case of too small buffer (U_BUFFER_OVERFLOW_ERROR) parseFlagsFile must return
+wanted buffer size (stored in result) instead of -1.
+
+--- icu/source/tools/toolutil/flagparser.c.orig	2015-10-08 05:54:06.000000000 +0200
++++ icu/source/tools/toolutil/flagparser.c	2015-11-15 21:10:17.988942482 +0100
+@@ -30,6 +30,7 @@
+     FileStream *f = T_FileStream_open(fileName, "r");
+     if (f == NULL) {
+         *status = U_FILE_ACCESS_ERROR;
++        result = -1;
+         goto parseFlagsFile_cleanup;
+     }
+     
+@@ -38,6 +39,7 @@
+ 
+     if (buffer == NULL || tmpFlagBuffer == NULL) {
+         *status = U_MEMORY_ALLOCATION_ERROR;
++        result = -1;
+         goto parseFlagsFile_cleanup;
+     }
+ 
+@@ -49,6 +51,7 @@
+             buffer = uprv_malloc(sizeof(char) * currentBufferSize);
+             if (buffer == NULL) {
+                 *status = U_MEMORY_ALLOCATION_ERROR;
++                result = -1;
+                 goto parseFlagsFile_cleanup;
+             }
+         }
+@@ -98,7 +101,7 @@
+     T_FileStream_close(f);
+     
+     if (U_FAILURE(*status)) {
+-        return -1;
++        return result;
+     }
+ 
+     if (U_SUCCESS(*status) && result == 0) {
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/icu.git/commitdiff/47c2d3b90695c96b64cf3f54208ba7a3d540a7c7



More information about the pld-cvs-commit mailing list