Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jul 2008 20:40:21 +0200
From:      =?UTF-8?B?VsOhY2xhdiBIYWlzbWFu?= <v.haisman@sh.cvut.cz>
To:        freebsd-hackers <freebsd-hackers@freebsd.org>
Subject:   Locale woes.
Message-ID:  <4890B595.5060103@sh.cvut.cz>

next in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigF1F8DFE39962BB47C8048419
Content-Type: multipart/mixed; boundary="------------080600030000050507010807"

This is a multi-part message in MIME format.
--------------080600030000050507010807
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Hi,
I have some problem with locales on FreeBSD 6.3. The attached test case f=
ails=20
with uncaught std::runtime_error exception:

shell::wilx:~/tmp> locale
LANG=3Den_US.UTF-8
LC_CTYPE=3D"en_US.UTF-8"
LC_COLLATE=3D"en_US.UTF-8"
LC_TIME=3D"en_US.UTF-8"
LC_NUMERIC=3D"en_US.UTF-8"
LC_MONETARY=3D"en_US.UTF-8"
LC_MESSAGES=3D"en_US.UTF-8"
LC_ALL=3D

shell::wilx:~/tmp> ./codecvt_test "abcd=C5=A0<"
terminate called after throwing an instance of 'std::runtime_error'
   what():  locale::facet::_S_create_c_locale name not valid
zsh: abort (core dumped)  ./codecvt_test "abcd=C5=A0<"

shell::wilx:~/tmp> locale -a |grep en_US.UTF-8
en_US.UTF-8

I don't understand why? It works without change on both Windows and=20
Gentoo/Linux.

--
VH

--------------080600030000050507010807
Content-Type: text/plain;
 name="codecvt_test.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="codecvt_test.cpp"

Ly8gY29kZWN2dF90ZXN0LmNwcCA6IERlZmluZXMgdGhlIGVudHJ5IHBvaW50IGZvciB0aGUg
Y29uc29sZSBhcHBsaWNhdGlvbi4KLy8KCiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxs
b2NhbGU+CiNpbmNsdWRlIDxjd2N0eXBlPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRl
IDx2ZWN0b3I+CiNpbmNsdWRlIDxjYXNzZXJ0PgoKCnN0ZDo6d3N0cmluZwp0b3dzdHJpbmco
Y29uc3Qgc3RkOjpzdHJpbmcmIHNyYykKewogICAgc3RkOjp3c3RyaW5nIG91dHN0cjsKCiAg
ICB0eXBlZGVmIHN0ZDo6Y29kZWN2dDx3Y2hhcl90LCBjaGFyLCBzdGQ6Om1ic3RhdGVfdD4g
Q29kZUN2dDsKICAgIHN0ZDo6bG9jYWxlIGxvYyAoIiIpOwogICAgY29uc3QgQ29kZUN2dCAm
IGNkY3Z0ID0gc3RkOjp1c2VfZmFjZXQ8Q29kZUN2dD4obG9jKTsKICAgIHN0ZDo6bWJzdGF0
ZV90IHN0YXRlID0gezB9OwoKICAgIGNoYXIgY29uc3QgKiBjb25zdCBmcm9tX2ZpcnN0ID0g
c3JjLmNfc3RyICgpOwogICAgc2l6ZV90IGNvbnN0IGZyb21fc2l6ZSA9IHNyYy5zaXplICgp
OwogICAgY2hhciBjb25zdCAqIGNvbnN0IGZyb21fbGFzdCA9IGZyb21fZmlyc3QgKyBmcm9t
X3NpemU7CiAgICBjaGFyIGNvbnN0ICogZnJvbV9uZXh0ID0gZnJvbV9maXJzdDsKCiAgICAv
LyBYWFg6IEludGVudGlvbmFsbHkgYWxsb2NhdGUgb25seSBoYWxmIHRoZSBzaXplIG9mIHRo
ZSBpbnB1dC4KICAgIHN0ZDo6dmVjdG9yPHdjaGFyX3Q+IGRlc3QgKGZyb21fc2l6ZSAvIDIp
OwoKICAgIHdjaGFyX3QgKiB0b19maXJzdCA9ICZkZXN0LmZyb250ICgpOwogICAgc2l6ZV90
IHRvX3NpemUgPSBkZXN0LnNpemUgKCk7CiAgICB3Y2hhcl90ICogdG9fbGFzdCA9IHRvX2Zp
cnN0ICsgdG9fc2l6ZTsKICAgIHdjaGFyX3QgKiB0b19uZXh0ID0gdG9fZmlyc3Q7CgogICAg
Q29kZUN2dDo6cmVzdWx0IHJlc3VsdDsKICAgIHNpemVfdCBjb252ZXJ0ZWQgPSAwOwogICAg
d2hpbGUgKHRydWUpCiAgICB7CiAgICAgICAgcmVzdWx0ID0gY2RjdnQuaW4gKAogICAgICAg
ICAgICBzdGF0ZSwgZnJvbV9maXJzdCwgZnJvbV9sYXN0LAogICAgICAgICAgICBmcm9tX25l
eHQsIHRvX2ZpcnN0LCB0b19sYXN0LAogICAgICAgICAgICB0b19uZXh0KTsKICAgICAgICBp
ZiAoKHJlc3VsdCA9PSBDb2RlQ3Z0OjpwYXJ0aWFsIHx8IHJlc3VsdCA9PSBDb2RlQ3Z0Ojpv
aykgCiAgICAgICAgICAgICYmIGZyb21fbmV4dCAhPSBmcm9tX2xhc3QpCiAgICAgICAgewog
ICAgICAgICAgICB0b19zaXplID0gZGVzdC5zaXplICgpICogMjsKICAgICAgICAgICAgZGVz
dC5yZXNpemUgKHRvX3NpemUpOwogICAgICAgICAgICBjb252ZXJ0ZWQgPSB0b19uZXh0IC0g
dG9fZmlyc3Q7CiAgICAgICAgICAgIHRvX2ZpcnN0ID0gJmRlc3QuZnJvbnQgKCk7CiAgICAg
ICAgICAgIHRvX2xhc3QgPSB0b19maXJzdCArIHRvX3NpemU7CiAgICAgICAgICAgIHRvX25l
eHQgPSB0b19maXJzdCArIGNvbnZlcnRlZDsKICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgfSAKICAgICAgICBlbHNlIGlmIChyZXN1bHQgPT0gQ29kZUN2dDo6b2sgJiYgZnJvbV9u
ZXh0ID09IGZyb21fbGFzdCkKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgZWxzZQogICAg
ICAgIHsKICAgICAgICAgICAgYXNzZXJ0ICgwKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgfQogICAgfQogICAgY29udmVydGVkID0gdG9fbmV4dCAtIHRvX2ZpcnN0OwoKICAgIG91
dHN0ci5hc3NpZ24gKGRlc3QuYmVnaW4gKCksIGRlc3QuYmVnaW4gKCkgKyBjb252ZXJ0ZWQp
OwogICAgcmV0dXJuIG91dHN0cjsKfQoKaW50IG1haW4gKGludCBhcmdjLCBjaGFyICogYXJn
dltdKQp7CiAgICBpZiAoYXJnYyA8IDIpCiAgICB7CiAgICAgICAgc3RkOjpjZXJyIDw8ICJj
b2RlY3Z0X3Rlc3Qgc3RyaW5nXG4iOwogICAgICAgIHJldHVybiAxOwogICAgfQoKICAgIHN0
ZDo6c3RyaW5nIHN0ciAoYXJndlsxXSk7CiAgICBzdGQ6OndzdHJpbmcgd3N0ciA9IHRvd3N0
cmluZyAoc3RyKTsKICAgIHN0ZDo6d2NvdXQgPDwgc3RkOjpoZXg7CiAgICBmb3IgKHN0ZDo6
d3N0cmluZzo6Y29uc3RfaXRlcmF0b3IgaXQgPSB3c3RyLmJlZ2luICgpOyBpdCAhPSB3c3Ry
LmVuZCAoKTsKICAgICAgICArK2l0KQogICAgICAgIHN0ZDo6d2NvdXQgPDwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KCppdCkgPDwgIiAiOwogICAgc3RkOjp3Y291dCA8PCAiXG4iOwoKICAg
IHN0ZDo6d2NvdXQuaW1idWUgKHN0ZDo6bG9jYWxlICgiIikpOwogICAgc3RkOjp3Y291dCA8
PCB3c3RyIDw8IHN0ZDo6ZW5kbDsKCXJldHVybiAwOwp9Cg==
--------------080600030000050507010807--

--------------enigF1F8DFE39962BB47C8048419
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)

iFYEAREIAAYFAkiQtZsACgkQhQBMvHf/WHnSWgDgojCCuBeYOJuRo+l3Ff1tzggP
JFF2tPWHRDb4BwDeO3efVVJbezGODtdb/7faxnV3hZFkamrjVaX/aA==
=ffXZ
-----END PGP SIGNATURE-----

--------------enigF1F8DFE39962BB47C8048419--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4890B595.5060103>