From d52355d72ccbebfa82fd5b1166f8d9265ec4ff6c Mon Sep 17 00:00:00 2001 From: James Booth Date: Sat, 29 Apr 2017 20:33:28 +0100 Subject: Set locale in unit tests issue #901 --- src/common.c | 4 ++-- tests/unittests/unittests.c | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/common.c b/src/common.c index c4b6ace9..fa3af68c 100644 --- a/src/common.c +++ b/src/common.c @@ -467,13 +467,13 @@ prof_occurrences(const char *const needle, const char *const haystack, int offse gchar *needle_last_ch = g_utf8_offset_to_pointer(needle, g_utf8_strlen(needle, -1)- 1); int needle_last_ch_len = mblen(needle_last_ch, MB_CUR_MAX); - gunichar before = NULL; + gunichar before = 0; gchar *haystack_before_ch = g_utf8_find_prev_char(haystack, haystack_curr); if (haystack_before_ch) { before = g_utf8_get_char(haystack_before_ch); } - gunichar after = NULL; + gunichar after = 0; gchar *haystack_after_ch = g_utf8_find_next_char(haystack_curr + strlen(needle) - needle_last_ch_len, NULL); if (haystack_after_ch) { after = g_utf8_get_char(haystack_after_ch); diff --git a/tests/unittests/unittests.c b/tests/unittests/unittests.c index 2938b9ff..41f99424 100644 --- a/tests/unittests/unittests.c +++ b/tests/unittests/unittests.c @@ -6,7 +6,9 @@ #include #include #include +#include #include +#include #include "config.h" #include "xmpp/chat_session.h" @@ -38,7 +40,21 @@ #include "test_plugins_disco.h" int main(int argc, char* argv[]) { - setlocale(LC_ALL, ""); + setlocale(LC_ALL, "en_GB.UTF-8"); + char *codeset = nl_langinfo(CODESET); + char *lang = getenv("LANG"); + + printf("Charset information:\n"); + + if (lang) { + printf(" LANG: %s\n", lang); + } + if (codeset) { + printf(" CODESET: %s\n", codeset); + } + printf(" MB_CUR_MAX: %d\n", MB_CUR_MAX); + printf(" MB_LEN_MAX: %d\n", MB_LEN_MAX); + const UnitTest all_tests[] = { unit_test(replace_one_substr), -- cgit 1.4.1-2-gfad0