Date: Wed, 25 Nov 2015 18:31:16 +0300 From: Andrey Chernov <ache@freebsd.org> To: Baptiste Daroussin <bapt@freebsd.org> Cc: Ed Schouten <ed@nuxi.nl>, Jilles Tjoelker <jilles@stack.nl>, "Sergey V. Dyatko" <sergey.dyatko@gmail.com>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: /bin/ls formatting broken for non-C(?) locales Message-ID: <5655D444.1050901@freebsd.org> In-Reply-To: <5655CFC6.7010805@freebsd.org> References: <20151120122352.GA5751@stack.nl> <20151121003541.GF21071@ivaldir.etoilebsd.net> <CABh_MK=cz-zB7krcnKjhqfW9VnwjSmuaZ9%2BAETQiLy3AsHq_vw@mail.gmail.com> <5650DACA.2090501@freebsd.org> <20151125001513.GC70014@ivaldir.etoilebsd.net> <56550F69.8050609@freebsd.org> <20151125125325.GB77370@ivaldir.etoilebsd.net> <5655B8D9.8060805@freebsd.org> <20151125135059.GC77370@ivaldir.etoilebsd.net> <5655C059.8010701@freebsd.org> <20151125143501.GD77370@ivaldir.etoilebsd.net> <5655CFC6.7010805@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --6nvnRbobn61DaVsGeJX1Q82hKaGq0dNca Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 25.11.2015 18:12, Andrey Chernov wrote: > On 25.11.2015 17:35, Baptiste Daroussin wrote: >>> BTW, array size looks suspicious: >>> static wchar_t wab_months[12][MAX_ABMON_WIDTH * 2 * MB_LEN_MAX]; >>> what MB_LEN_MAX doing here? This constant is for multiple-bytes encod= ed, >>> not for wide chars. >> Bad copy/paste sorry it should be "MAX_ABMON_WIDTH * 2" >=20 > I don't check deep enough, it seems first array > MAX_ABMON_WIDTH * MB_LEN_MAX + 1 > and second one > MAX_ABMON_WIDTH * 2 + 1 >=20 No. We can't assume anything here and should integrate limits from the locale for months fields instead. F.e. in abstract general case in wide array can be 100 zero-width characters + 5 of normal characters, so width-oriented sizes not prevents overflowing. First array size should be from locale internals, second one =3D=3D first * sizeof(wchar_t) it will be safe for not overflowing. --=20 http://ache.vniz.net/ --6nvnRbobn61DaVsGeJX1Q82hKaGq0dNca Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBCAAGBQJWVdRFAAoJEKUckv0MjfbKRAAIALIDShwfnPee9sDd/y88jWQW fJZ2ADPaciWeFoNSIjf0We/+eDYVKv8zrZ/P0pAAsR8kxQXS+n9+Y3tU2bUfhIOJ ux7eyLAKQSoKCBS+7O88euAxK9Dfape6W6qKD4M1PNXStMhPJRJwndCopsidRGx+ dfo+1zVnaUklsj2FwPlN0VphKOLgzP86QRh/JochaDZioakPIgTViLVM7LCfSzLa qyHoHunxcmIF689MpbWvbzjiPIbBzxNqsaExEuYkpdkhc2dTu2QdNEp7vKFV2rWZ iqyq0b3EyELTuLllXLMR8jOPtAhVH2CQCUBICMQ1RkILC1kvYTaPUg0oMn6Q6Hk= =7bOv -----END PGP SIGNATURE----- --6nvnRbobn61DaVsGeJX1Q82hKaGq0dNca--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5655D444.1050901>