update to liblangtag-0.5.7
Change-Id: I46bf74efb52435313eb17e0db8b1cf103a329004 Reviewed-on: https://gerrit.libreoffice.org/17078 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
This commit is contained in:
@@ -12047,8 +12047,6 @@ if test "$enable_liblangtag" = "yes" -o \( "$enable_liblangtag" = "" -a $_os !=
|
||||
SYSTEM_LIBLANGTAG=
|
||||
AC_MSG_RESULT([no])
|
||||
BUILD_TYPE="$BUILD_TYPE LIBLANGTAG"
|
||||
dnl TODO: remove when liblangtag is updated to 0.5.5
|
||||
AC_DEFINE([LIBLANGTAG_INLINE_FIX])
|
||||
if test "$COM" = "MSC"; then
|
||||
LIBLANGTAG_LIBS="${WORKDIR}/UnpackedTarball/langtag/liblangtag/.libs/liblangtag.lib"
|
||||
else
|
||||
|
@@ -95,7 +95,7 @@ export LIBEOT_TARBALL := libeot-0.01.tar.bz2
|
||||
export LIBEXTTEXTCAT_TARBALL := 10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2
|
||||
export LIBGLTF_MD5SUM := d63a9f47ab048f5009d90693d6aa6424
|
||||
export LIBGLTF_TARBALL := libgltf-0.0.2.tar.bz2
|
||||
export LIBLANGTAG_TARBALL := 36271d3fa0d9dec1632029b6d7aac925-liblangtag-0.5.1.tar.bz2
|
||||
export LIBLANGTAG_TARBALL := 80d063d6db4c010e18c606af8aed6231-liblangtag-0.5.7.tar.bz2
|
||||
export LIBXMLSEC_TARBALL := 1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
|
||||
export LIBXML_TARBALL := 9c0cfef285d5c4a5c80d00904ddab380-libxml2-2.9.1.tar.gz
|
||||
export LIBXSLT_TARBALL := 9667bf6f9310b957254fdcf6596600b7-libxslt-1.1.28.tar.gz
|
||||
|
20
external/liblangtag/UnpackedTarball_langtag.mk
vendored
20
external/liblangtag/UnpackedTarball_langtag.mk
vendored
@@ -15,22 +15,10 @@ $(eval $(call gb_UnpackedTarball_set_pre_action,langtag,\
|
||||
$(GNUTAR) -x -j -f $(gb_UnpackedTarget_TARFILE_LOCATION)/$(LANGTAGREG_TARBALL) \
|
||||
))
|
||||
|
||||
# external/liblangtag/liblangtag-leak.patch.0 upstream:
|
||||
# <https://bitbucket.org/tagoh/liblangtag/pull-request/8/fix-memory-leak/diff>
|
||||
$(eval $(call gb_UnpackedTarball_add_patches,langtag,\
|
||||
external/liblangtag/liblangtag-0.5.1-msvc-warning.patch \
|
||||
external/liblangtag/liblangtag-0.5.1-vsnprintf.patch \
|
||||
external/liblangtag/liblangtag-0.5.1-msvc-ssize_t.patch \
|
||||
external/liblangtag/liblangtag-0.5.1-msvc-snprintf.patch \
|
||||
external/liblangtag/liblangtag-0.5.1-msvc-strtoull.patch \
|
||||
external/liblangtag/liblangtag-0.5.1-scope-declaration.patch \
|
||||
external/liblangtag/liblangtag-0.5.1-redefinition-of-typedef.patch \
|
||||
external/liblangtag/liblangtag-0.5.1-undefined-have-sys-param-h.patch \
|
||||
external/liblangtag/liblangtag-0.5.1-windows-do-not-prepend-dir-separator.patch \
|
||||
external/liblangtag/liblangtag-0.5.1-unistd.patch \
|
||||
external/liblangtag/liblangtag-0.5.1-include-last-record-in-language-subtag-registry.patch \
|
||||
external/liblangtag/liblangtag-leak.patch.0 \
|
||||
))
|
||||
# Currently no patches applied, if there were it would be:
|
||||
#$(eval $(call gb_UnpackedTarball_add_patches,langtag,\
|
||||
# external/liblangtag/your-modification.patch \
|
||||
#))
|
||||
|
||||
ifeq ($(OS),WNT)
|
||||
ifeq ($(COM),GCC)
|
||||
|
@@ -1,49 +0,0 @@
|
||||
Upstream 6564b87c2f6dac2482e530bc43b038a3e93a0e07
|
||||
resolves #6, include last record in language-subtag-registry.xml
|
||||
|
||||
The '%%' in language-subtag-registry is a record delimiter, not record
|
||||
end marker, it is not present on the last record at file end.
|
||||
|
||||
(cherry picked from commit 4fff73a834f94a7ca256c086d99ea0a654a6c287)
|
||||
|
||||
diff --git a/data/reg2xml.c b/data/reg2xml.c
|
||||
--- UnpackedTarball/langtag.orig/data/reg2xml.c
|
||||
+++ UnpackedTarball/langtag/data/reg2xml.c
|
||||
@@ -48,6 +48,7 @@ _parse(const char *filename,
|
||||
FILE *fp;
|
||||
char buffer[1024], *range = NULL, *begin = NULL, *end = NULL;
|
||||
lt_bool_t in_entry = FALSE;
|
||||
+ lt_bool_t file_end = FALSE;
|
||||
xmlNodePtr ent = NULL;
|
||||
|
||||
if ((fp = fopen(filename, "rb")) == NULL) {
|
||||
@@ -56,10 +57,13 @@ _parse(const char *filename,
|
||||
}
|
||||
while (1) {
|
||||
fgets(buffer, 1024, fp);
|
||||
- if (feof(fp))
|
||||
- break;
|
||||
+ if (feof(fp)) {
|
||||
+ if (!in_entry)
|
||||
+ break;
|
||||
+ file_end = TRUE;
|
||||
+ }
|
||||
_drop_crlf(buffer);
|
||||
- if (lt_strcmp0(buffer, "%%") == 0) {
|
||||
+ if (lt_strcmp0(buffer, "%%") == 0 || file_end) {
|
||||
if (in_entry) {
|
||||
if (ent) {
|
||||
if (range) {
|
||||
@@ -102,7 +106,7 @@ _parse(const char *filename,
|
||||
ent = NULL;
|
||||
range = NULL;
|
||||
}
|
||||
- in_entry = TRUE;
|
||||
+ in_entry = !file_end;
|
||||
} else {
|
||||
if (!in_entry) {
|
||||
/* ignore it */
|
||||
|
||||
--------------erAck-patch-parts--
|
||||
|
||||
|
@@ -1,25 +0,0 @@
|
||||
diff -ru langtag.orig/liblangtag/lt-messages.c langtag/liblangtag/lt-messages.c
|
||||
--- UnpackedTarball/langtag.orig/liblangtag/lt-messages.c 2013-04-22 10:06:57.000000000 +0200
|
||||
+++ UnpackedTarball/langtag/liblangtag/lt-messages.c 2013-04-30 11:38:04.116532065 +0200
|
||||
@@ -85,13 +85,21 @@
|
||||
clen = strlen(cs);
|
||||
if (clen > 0) {
|
||||
catstring = malloc(sizeof (char) * (clen + 6));
|
||||
+#ifdef _WIN32
|
||||
+ _snprintf(catstring, clen + 6, "[%s]: ", cs);
|
||||
+#else
|
||||
snprintf(catstring, clen + 6, "[%s]: ", cs);
|
||||
+#endif
|
||||
clen = strlen(catstring);
|
||||
}
|
||||
len = tlen + clen + 1;
|
||||
retval = malloc(sizeof (char) * len);
|
||||
if (retval) {
|
||||
+#ifdef _WIN32
|
||||
+ _snprintf(retval, len, "%s%s ", ts, catstring ? catstring : "");
|
||||
+#else
|
||||
snprintf(retval, len, "%s%s ", ts, catstring ? catstring : "");
|
||||
+#endif
|
||||
}
|
||||
if (catstring)
|
||||
free(catstring);
|
@@ -1,12 +0,0 @@
|
||||
diff -ru UnpackedTarball/langtag.orig/liblangtag/lt-macros.h UnpackedTarball/langtag/liblangtag/lt-macros.h
|
||||
--- UnpackedTarball/langtag.orig/liblangtag/lt-macros.h 2013-04-22 10:06:57.000000000 +0200
|
||||
+++ UnpackedTarball/langtag/liblangtag/lt-macros.h 2013-04-30 16:07:00.619638050 +0200
|
||||
@@ -261,7 +261,7 @@
|
||||
|
||||
LT_BEGIN_DECLS
|
||||
|
||||
-#ifdef _MSC_VER
|
||||
+#if defined(_MSC_VER) && !defined(ssize_t)
|
||||
# ifdef _M_AMD64
|
||||
typedef signed long long ssize_t;
|
||||
# else
|
@@ -1,15 +0,0 @@
|
||||
diff -ru langtag.orig/extensions/lt-ext-ldml-u.c langtag/extensions/lt-ext-ldml-u.c
|
||||
--- UnpackedTarball/langtag.orig/extensions/lt-ext-ldml-u.c 2013-04-22 10:06:56.000000000 +0200
|
||||
+++ UnpackedTarball/langtag/extensions/lt-ext-ldml-u.c 2013-04-30 12:56:19.557490167 +0200
|
||||
@@ -137,7 +137,11 @@
|
||||
if (!strchr(hexdigit, subtag[j]))
|
||||
goto bail2;
|
||||
}
|
||||
+#ifdef _WIN32
|
||||
+ x = _strtoui64(subtag, &p, 16);
|
||||
+#else
|
||||
x = strtoull(subtag, &p, 16);
|
||||
+#endif
|
||||
if (p && p[0] == 0 && x <= 0x10ffff) {
|
||||
retval = TRUE;
|
||||
xmlFree(name);
|
@@ -1,21 +0,0 @@
|
||||
--- misc/liblangtag-0.4.0/liblangtag/lt-ext-module.h 2012-02-02 06:02:45.000000000 +0100
|
||||
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-ext-module.h 2012-08-08 08:46:57.810860044 +0200
|
||||
@@ -143,12 +143,12 @@
|
||||
* and #lt_ext_module_t and extend features.
|
||||
*/
|
||||
struct _lt_ext_module_funcs_t {
|
||||
- const lt_ext_module_singleton_func_t get_singleton;
|
||||
- const lt_ext_module_data_new_func_t create_data;
|
||||
- const lt_ext_module_precheck_func_t precheck_tag;
|
||||
- const lt_ext_module_parse_func_t parse_tag;
|
||||
- const lt_ext_module_get_tag_func_t get_tag;
|
||||
- const lt_ext_module_validate_func_t validate_tag;
|
||||
+ lt_ext_module_singleton_func_t get_singleton;
|
||||
+ lt_ext_module_data_new_func_t create_data;
|
||||
+ lt_ext_module_precheck_func_t precheck_tag;
|
||||
+ lt_ext_module_parse_func_t parse_tag;
|
||||
+ lt_ext_module_get_tag_func_t get_tag;
|
||||
+ lt_ext_module_validate_func_t validate_tag;
|
||||
};
|
||||
|
||||
|
@@ -1,13 +0,0 @@
|
||||
diff -ru langtag.orig/tests/variant-db.c langtag/tests/variant-db.c
|
||||
--- UnpackedTarball/langtag.orig/tests/variant-db.c 2013-04-22 10:06:57.000000000 +0200
|
||||
+++ UnpackedTarball/langtag/tests/variant-db.c 2013-04-30 14:12:18.399306545 +0200
|
||||
@@ -53,8 +53,8 @@
|
||||
}
|
||||
lt_iter_finish(iter);
|
||||
} else if (lt_strcmp0(argv[1], "lookup") == 0) {
|
||||
- variant = lt_variant_db_lookup(variantdb, argv[2]);
|
||||
const lt_list_t *prefix, *l;
|
||||
+ variant = lt_variant_db_lookup(variantdb, argv[2]);
|
||||
|
||||
if (variant) {
|
||||
printf("desc: %s\n", lt_variant_get_name(variant));
|
@@ -1,14 +0,0 @@
|
||||
# liblangtag/lt-macros.h:17:5: error: "HAVE_SYS_PARAM_H" is not defined [-Werror=undef]
|
||||
|
||||
diff -ru UnpackedTarball/langtag.orig/liblangtag/lt-macros.h UnpackedTarball/langtag/liblangtag/lt-macros.h
|
||||
--- UnpackedTarball/langtag.orig/liblangtag/lt-macros.h 2013-04-30 16:09:19.362392416 +0200
|
||||
+++ UnpackedTarball/langtag/liblangtag/lt-macros.h 2013-04-30 18:01:13.275188759 +0200
|
||||
@@ -14,7 +14,7 @@
|
||||
#error "Only <liblangtag/langtag.h> can be included directly."
|
||||
#endif
|
||||
|
||||
-#if HAVE_SYS_PARAM_H
|
||||
+#if defined(HAVE_SYS_PARAM_H) && HAVE_SYS_PARAM_H
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
|
@@ -1,12 +0,0 @@
|
||||
--- UnpackedTarball/langtag/liblangtag/lt-utils.c 2013-05-10 14:36:54.445200000 +0200
|
||||
+++ UnpackedTarball/langtag/liblangtag/lt-utils.c 2013-05-10 14:38:31.446000000 +0200
|
||||
@@ -23,7 +23,9 @@
|
||||
#if HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#endif
|
||||
+#if HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
+#endif
|
||||
#include <sys/types.h>
|
||||
#include "lt-messages.h"
|
||||
#include "lt-utils.h"
|
@@ -1,18 +0,0 @@
|
||||
diff -ru UnpackedTarball/orig.langtag/liblangtag/lt-utils.c UnpackedTarball/langtag/liblangtag/lt-utils.c
|
||||
--- UnpackedTarball/orig.langtag/liblangtag/lt-utils.c 2013-07-19 16:47:20.310734230 +0200
|
||||
+++ UnpackedTarball/langtag/liblangtag/lt-utils.c 2013-07-19 16:53:10.839914271 +0200
|
||||
@@ -173,9 +173,11 @@
|
||||
|
||||
va_end(ap);
|
||||
|
||||
- retval = malloc(sizeof (char) * size);
|
||||
- if (retval) {
|
||||
- vsprintf(retval, format, args);
|
||||
+ if (size > 0) {
|
||||
+ retval = malloc(sizeof (char) * size);
|
||||
+ if (retval) {
|
||||
+ vsprintf(retval, format, args);
|
||||
+ }
|
||||
}
|
||||
} LT_STMT_END;
|
||||
#elif HAVE_VSNPRINTF
|
@@ -1,16 +0,0 @@
|
||||
diff -ru UnpackedTarball/langtag.orig/liblangtag/lt-string.c UnpackedTarball/langtag/liblangtag/lt-string.c
|
||||
--- UnpackedTarball/langtag.orig/liblangtag/lt-string.c 2013-04-22 10:35:07.000000000 +0200
|
||||
+++ UnpackedTarball/langtag/liblangtag/lt-string.c 2013-04-30 18:34:14.422037274 +0200
|
||||
@@ -308,8 +308,12 @@
|
||||
lt_return_val_if_fail (string != NULL, NULL);
|
||||
lt_return_val_if_fail (path != NULL, string);
|
||||
|
||||
+#ifdef _WIN32
|
||||
+ /* This simply does not work on Windows with "D:\..." */
|
||||
+#else
|
||||
if (lt_string_length(string) == 0 && path[0] != LT_DIR_SEPARATOR)
|
||||
lt_string_append(string, LT_DIR_SEPARATOR_S);
|
||||
+#endif
|
||||
|
||||
va_start(ap, path);
|
||||
p = path;
|
10
external/liblangtag/liblangtag-leak.patch.0
vendored
10
external/liblangtag/liblangtag-leak.patch.0
vendored
@@ -1,10 +0,0 @@
|
||||
--- liblangtag/lt-tag.c
|
||||
+++ liblangtag/lt-tag.c
|
||||
@@ -1408,6 +1408,7 @@
|
||||
lt_variant_ref(lt_list_value(l)),
|
||||
(lt_destroy_func_t)lt_variant_unref);
|
||||
}
|
||||
+ lt_mem_add_ref(&retval->parent, retval->variants, lt_list_free);
|
||||
}
|
||||
if (tag->extension) {
|
||||
lt_tag_set_extension(retval, lt_extension_copy(tag->extension));
|
Reference in New Issue
Block a user