⛏️ index : haiku.git

author Augustin Cavalier <waddlesplash@gmail.com> 2023-04-25 15:55:42.0 -04:00:00
committer Fredrik Holmqvist <fredrik.holmqvist@gmail.com> 2023-04-27 6:59:21.0 +00:00:00
commit
e0bf577acd2bf97801eff421ab2eb1e9a90aa29e [patch]
tree
404d7a7535aa82596f77009462d256ed714b24fa
parent
ad5f3ccd7c9bfbcdd145ae9a6737cfb617dc313f
download
e0bf577acd2bf97801eff421ab2eb1e9a90aa29e.tar.gz

libroot: Fix initialization of LocaleNumericDataBridge.

We need to store the isGlobal value, so that the destructor
can take care of unsetting the glibc locale properly.

It seems this has been broken since d338200e2b7c03c7aa392598b8612d4e9afa1841.

Fixes #18344 and probably #18336.

Change-Id: Idb9b33cd1416969e01b73012de059ff051b76e74
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6373
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Diff

 src/system/libroot/posix/locale/LocaleDataBridge.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/system/libroot/posix/locale/LocaleDataBridge.cpp b/src/system/libroot/posix/locale/LocaleDataBridge.cpp
index 140650f..306a5dd 100644
--- a/src/system/libroot/posix/locale/LocaleDataBridge.cpp
+++ b/src/system/libroot/posix/locale/LocaleDataBridge.cpp
@@ -89,7 +89,8 @@
LocaleNumericDataBridge::LocaleNumericDataBridge(bool isGlobal)
	:
	posixLocaleConv(&gPosixLocaleConv),
	glibcNumericLocale(&glibcNumericLocaleData)
	glibcNumericLocale(&glibcNumericLocaleData),
	isGlobal(isGlobal)
{

	memcpy(glibcNumericLocale, _NL_GLOBAL_DATA(GLIBC_LC_NUMERIC),