summaryrefslogtreecommitdiff
path: root/liblangtag
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2012-06-04 16:58:51 +0200
committerEike Rathke <erack@redhat.com>2012-06-04 17:01:37 +0200
commit9d559ea8c96c36eb086ede9bca36dd32c2b5a692 (patch)
tree5875d9b5c571074c6940b57ac54ae7e4ba4ec365 /liblangtag
parentb3c76dee6d44d07eae404b8d7341e6c88e6c4429 (diff)
added liblangtag for BCP 47 language tags
Diffstat (limited to 'liblangtag')
-rw-r--r--liblangtag/README1
-rw-r--r--liblangtag/liblangtag-0.2-0001-Fix-a-memory-leak.patch44
-rw-r--r--liblangtag/liblangtag-0.2-0002-Fix-invalid-memory-access.patch50
-rw-r--r--liblangtag/makefile.mk61
-rw-r--r--liblangtag/prj/build.lst3
-rw-r--r--liblangtag/prj/d.lst29
-rw-r--r--liblangtag/prj/dmake0
7 files changed, 188 insertions, 0 deletions
diff --git a/liblangtag/README b/liblangtag/README
new file mode 100644
index 000000000000..f48958d9da6c
--- /dev/null
+++ b/liblangtag/README
@@ -0,0 +1 @@
+From [https://github.com/tagoh/liblangtag/]. An interface for BCP47 language tags.
diff --git a/liblangtag/liblangtag-0.2-0001-Fix-a-memory-leak.patch b/liblangtag/liblangtag-0.2-0001-Fix-a-memory-leak.patch
new file mode 100644
index 000000000000..985a7ad274e7
--- /dev/null
+++ b/liblangtag/liblangtag-0.2-0001-Fix-a-memory-leak.patch
@@ -0,0 +1,44 @@
+From 132170753ea9cbd63cda8f3a80498c144f75b8ba Mon Sep 17 00:00:00 2001
+Message-Id: <132170753ea9cbd63cda8f3a80498c144f75b8ba.1337190143.git.erack@redhat.com>
+From: Akira TAGOH <akira@tagoh.org>
+Date: Mon, 6 Feb 2012 16:38:37 +0900
+Subject: [PATCH] Fix a memory leak
+MIME-Version: 1.0
+Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
+
+This is a multi-part message in MIME format.
+--------------erAck-patch-parts
+Content-Type: text/plain; charset=UTF-8; format=fixed
+Content-Transfer-Encoding: 8bit
+
+---
+ liblangtag/lt-extension.c | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+
+--------------erAck-patch-parts
+Content-Type: text/x-patch; name="0001-Fix-a-memory-leak.patch"
+Content-Transfer-Encoding: 8bit
+Content-Disposition: attachment; filename="0001-Fix-a-memory-leak.patch"
+
+diff --git a/liblangtag/lt-extension.c b/liblangtag/lt-extension.c
+index eb84b12..466ebce 100644
+--- a/liblangtag/lt-extension.c
++++ misc/build/liblangtag-0.2/liblangtag/lt-extension.c
+@@ -231,8 +231,11 @@ lt_extension_copy(lt_extension_t *extension)
+ (lt_destroy_func_t)lt_ext_module_unref);
+ retval->singleton = extension->singleton;
+ for (i = 0; i < LT_MAX_EXT_MODULES; i++) {
+- if (extension->extensions[i])
++ if (extension->extensions[i]) {
+ retval->extensions[i] = lt_ext_module_data_ref(extension->extensions[i]);
++ lt_mem_add_ref(&retval->parent, retval->extensions[i],
++ (lt_destroy_func_t)lt_ext_module_data_unref);
++ }
+ }
+ }
+ }
+
+--------------erAck-patch-parts--
+
+
diff --git a/liblangtag/liblangtag-0.2-0002-Fix-invalid-memory-access.patch b/liblangtag/liblangtag-0.2-0002-Fix-invalid-memory-access.patch
new file mode 100644
index 000000000000..b3b0ff316e3e
--- /dev/null
+++ b/liblangtag/liblangtag-0.2-0002-Fix-invalid-memory-access.patch
@@ -0,0 +1,50 @@
+From cf8dfcf1604e534f4c9eccbd9a05571c8a9dc74d Mon Sep 17 00:00:00 2001
+Message-Id: <cf8dfcf1604e534f4c9eccbd9a05571c8a9dc74d.1337190149.git.erack@redhat.com>
+From: Akira TAGOH <akira@tagoh.org>
+Date: Mon, 5 Mar 2012 18:10:10 +0900
+Subject: [PATCH] Fix invalid memory access
+MIME-Version: 1.0
+Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
+
+This is a multi-part message in MIME format.
+--------------erAck-patch-parts
+Content-Type: text/plain; charset=UTF-8; format=fixed
+Content-Transfer-Encoding: 8bit
+
+---
+ liblangtag/lt-extension.c | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+
+--------------erAck-patch-parts
+Content-Type: text/x-patch; name="0001-Fix-invalid-memory-access.patch"
+Content-Transfer-Encoding: 8bit
+Content-Disposition: attachment; filename="0001-Fix-invalid-memory-access.patch"
+
+diff --git a/liblangtag/lt-extension.c b/liblangtag/lt-extension.c
+index 806712e..502bfd5 100644
+--- a/liblangtag/lt-extension.c
++++ misc/build/liblangtag-0.2/liblangtag/lt-extension.c
+@@ -196,6 +196,8 @@ lt_extension_cancel_tag(lt_extension_t *extension)
+ if (ll->prev)
+ ll->prev->next = NULL;
+ ll->prev = NULL;
++ if (ll == l)
++ l = NULL;
+ g_list_free(ll);
+ break;
+ }
+@@ -204,7 +206,8 @@ lt_extension_cancel_tag(lt_extension_t *extension)
+ else
+ g_string_append(extension->cached_tag, ll->data);
+ }
+- g_list_free(l);
++ if (l)
++ g_list_free(l);
+ g_strfreev(tags);
+ }
+ }
+
+--------------erAck-patch-parts--
+
+
diff --git a/liblangtag/makefile.mk b/liblangtag/makefile.mk
new file mode 100644
index 000000000000..335ce75418be
--- /dev/null
+++ b/liblangtag/makefile.mk
@@ -0,0 +1,61 @@
+#
+# Copyright 2012 LibreOffice contributors.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+PRJ=.
+
+PRJNAME=liblangtag
+TARGET=liblangtag
+
+LIBLANGTAG_MAJOR=0
+LIBLANGTAG_MINOR=2
+LIBLANGTAG_MICRO=0
+# currently liblangtag.so.0.1.0 is generated, presumably a bug?
+LIBLANGTAG_LIBMINOR=1
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+.IF "$(SYSTEM_LIBLANGTAG)" == "YES"
+@all:
+ @echo "Using system liblangtag."
+.ENDIF
+
+TARFILE_NAME=liblangtag-$(LIBLANGTAG_MAJOR).$(LIBLANGTAG_MINOR)
+TARFILE_MD5=fa6a2f85bd28baab035b2c95e722713f
+
+# liblangtag 132170753ea9cbd63cda8f3a80498c144f75b8ba
+PATCH_FILES=liblangtag-0.2-0001-Fix-a-memory-leak.patch
+# liblangtag cf8dfcf1604e534f4c9eccbd9a05571c8a9dc74d
+PATCH_FILES+=liblangtag-0.2-0002-Fix-invalid-memory-access.patch
+
+CONFIGURE_DIR=.
+CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) .$/configure
+
+BUILD_DIR=$(CONFIGURE_DIR)
+BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE) -j$(EXTMAXPROCESS)
+
+.IF "$(GUI)"=="UNX"
+
+OUT2LIB= \
+ $(BUILD_DIR)$/liblangtag/.libs$/$(TARGET)$(DLLPOST).$(LIBLANGTAG_MAJOR).$(LIBLANGTAG_LIBMINOR).$(LIBLANGTAG_MICRO) \
+ $(BUILD_DIR)$/liblangtag/.libs$/$(TARGET)$(DLLPOST).$(LIBLANGTAG_MAJOR) \
+ $(BUILD_DIR)$/liblangtag/.libs$/$(TARGET)$(DLLPOST)
+
+.ENDIF
+
+.IF "$(GUI)"=="WNT"
+.ENDIF
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : set_ext.mk
+.INCLUDE : target.mk
+.INCLUDE : tg_ext.mk
diff --git a/liblangtag/prj/build.lst b/liblangtag/prj/build.lst
new file mode 100644
index 000000000000..8e388c2bf23f
--- /dev/null
+++ b/liblangtag/prj/build.lst
@@ -0,0 +1,3 @@
+lt liblangtag : soltools GLIB:glib LIBXML2:libxml2 NULL
+lt liblangtag usr1 - all lt_mkout NULL
+lt liblangtag nmake - all lt_liblangtag NULL
diff --git a/liblangtag/prj/d.lst b/liblangtag/prj/d.lst
new file mode 100644
index 000000000000..d07e0a8b3680
--- /dev/null
+++ b/liblangtag/prj/d.lst
@@ -0,0 +1,29 @@
+mkdir: %_DEST%\inc\liblangtag
+
+..\%__SRC%\misc\build\liblangtag*\liblangtag\langtag.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-database.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-error.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-extension.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-extlang-db.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-extlang.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-ext-module-data.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-ext-module.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-gobject.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-grandfathered-db.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-grandfathered.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-lang-db.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-lang.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-redundant-db.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-redundant.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-region-db.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-region.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-script-db.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-script.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-tag.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-variant-db.h %_DEST%\inc\liblangtag\
+..\%__SRC%\misc\build\liblangtag*\liblangtag\lt-variant.h %_DEST%\inc\liblangtag\
+
+..\%__SRC%\lib\* %_DEST%\lib\
+..\%__SRC%\bin\* %_DEST%\bin\
+
+linklib: liblangtag.*.*.*
diff --git a/liblangtag/prj/dmake b/liblangtag/prj/dmake
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/liblangtag/prj/dmake