summaryrefslogtreecommitdiffstats
path: root/package/icu/icu-overflow.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/icu/icu-overflow.patch')
-rw-r--r--package/icu/icu-overflow.patch93
1 files changed, 0 insertions, 93 deletions
diff --git a/package/icu/icu-overflow.patch b/package/icu/icu-overflow.patch
deleted file mode 100644
index 45beaa7ea..000000000
--- a/package/icu/icu-overflow.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-
-A combination of issue & patches from...
-
-https://bugs.icu-project.org/trac/ticket/7680
-https://bugs.icu-project.org/trac/changeset/28002
-https://bugs.icu-project.org/trac/changeset/28124
-
-Enlarged buffers more since include files for pkgdata can grow
-significantly when cross-compiling.
-This ONLY affects building.
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -Nura icu.orig/source/tools/pkgdata/pkgdata.cpp icu/source/tools/pkgdata/pkgdata.cpp
---- icu.orig/source/tools/pkgdata/pkgdata.cpp 2010-09-29 15:37:28.000000000 -0300
-+++ icu/source/tools/pkgdata/pkgdata.cpp 2010-12-21 15:53:30.252554924 -0300
-@@ -97,8 +97,9 @@
- #define PKGDATA_FILE_SEP_STRING U_FILE_SEP_STRING
- #endif
-
--#define LARGE_BUFFER_MAX_SIZE 2048
--#define SMALL_BUFFER_MAX_SIZE 512
-+#define LARGE_BUFFER_MAX_SIZE 8192
-+#define MEDIUM_BUFFER_MAX_SIZE 4096
-+#define SMALL_BUFFER_MAX_SIZE 2048
-
- static void loadLists(UPKGOptions *o, UErrorCode *status);
-
-@@ -472,29 +473,48 @@
- }
-
- static int runCommand(const char* command, UBool specialHandling) {
-- char cmd[SMALL_BUFFER_MAX_SIZE];
-+ char *cmd = NULL;
-+ char cmdBuffer[SMALL_BUFFER_MAX_SIZE];
-+ int32_t len = strlen(command);
-+
-+ if (len == 0) {
-+ return 0;
-+ }
-
- if (!specialHandling) {
-+#if defined(USING_CYGWIN) || defined(OS400)
-+#define CMD_PADDING_SIZE 20
-+ if ((len + CMD_PADDING_SIZE) >= SMALL_BUFFER_MAX_SIZE) {
-+ cmd = (char *)uprv_malloc(len + CMD_PADDING_SIZE);
-+ } else {
-+ cmd = cmdBuffer;
-+ }
- #ifdef USING_CYGWIN
- sprintf(cmd, "bash -c \"%s\"", command);
-
- #elif defined(OS400)
- sprintf(cmd, "QSH CMD('%s')", command);
-+#endif
- #else
- goto normal_command_mode;
- #endif
- } else {
- normal_command_mode:
-- sprintf(cmd, "%s", command);
-+ cmd = (char *)command;
- }
--
-+
- printf("pkgdata: %s\n", cmd);
- int result = system(cmd);
-- if (result != 0) {
-- printf("-- return status = %d\n", result);
-+ if (result != 0) {
-+ printf("-- return status = %d\n", result);
-+ }
-+
-+ if (cmd != cmdBuffer && cmd != command) {
-+ uprv_free(cmd);
- }
-- return result;
--}
-+
-+ return result;
-+}
-
- #define LN_CMD "ln -s"
- #define RM_CMD "rm -f"
-@@ -586,7 +606,7 @@
- pkgDataFlags = (char**)uprv_malloc(sizeof(char*) * PKGDATA_FLAGS_SIZE);
- if (pkgDataFlags != NULL) {
- for (int32_t i = 0; i < PKGDATA_FLAGS_SIZE; i++) {
-- pkgDataFlags[i] = (char*)uprv_malloc(sizeof(char) * SMALL_BUFFER_MAX_SIZE);
-+ pkgDataFlags[i] = (char*)uprv_malloc(sizeof(char) * MEDIUM_BUFFER_MAX_SIZE);
- if (pkgDataFlags[i] != NULL) {
- pkgDataFlags[i][0] = 0;
- } else {