From 739c65c54cb0e957df5e9b76f93fb02554e5cac3 Mon Sep 17 00:00:00 2001 From: davidovski Date: Wed, 4 May 2022 23:52:30 +0100 Subject: moved everything to new file formatting --- repo/system/lua-lpeg/test-fix-setlocale.patch | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 repo/system/lua-lpeg/test-fix-setlocale.patch (limited to 'repo/system/lua-lpeg/test-fix-setlocale.patch') diff --git a/repo/system/lua-lpeg/test-fix-setlocale.patch b/repo/system/lua-lpeg/test-fix-setlocale.patch new file mode 100644 index 0000000..028c18c --- /dev/null +++ b/repo/system/lua-lpeg/test-fix-setlocale.patch @@ -0,0 +1,20 @@ +os.setlocale just calls setlocale() from libc and musl's implementation +behaves a bit differently in comparison with BSD libc or glibc. + +When particular locales for all categories are the same, e.g. "C", +`setlocale(LC_ALL, "")` returns just "C" on BSD libc (tested on macOS) +and glibc, but musl returns "C;C;C;C;C;C". When some locale is different, +e.g. LC_CTYPE, then on macOS you get "C/en_US.UTF-8/C/C/C/C", on glibc +"LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;...", on musl "en_US.UTF-8;C;C;C;C;C". + +--- a/test.lua ++++ b/test.lua +@@ -1428,7 +1428,7 @@ + + + -- testing pre-defined names +-assert(os.setlocale("C") == "C") ++assert(os.setlocale("C"):sub(1, 1) == "C") + + function eqlpeggsub (p1, p2) + local s1 = cs2str(re.compile(p1)) -- cgit v1.2.1