Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Nov 2015 16:34:17 +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:  <5655B8D9.8060805@freebsd.org>
In-Reply-To: <20151125125325.GB77370@ivaldir.etoilebsd.net>
References:  <20151120110556.6e20a71f@laptop.minsk.domain> <20151120104253.GA21071@ivaldir.etoilebsd.net> <20151120110212.GB21071@ivaldir.etoilebsd.net> <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>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--5a6HHSNuFHhw07DPRVifHKtfIA4gI4q4w
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 25.11.2015 15:53, Baptiste Daroussin wrote:
> What I did for now is set max_month_width to -1 and in ls_strftime I fa=
llback on
> the plain strftime meaning you keep localized information but the align=
ement is
> broken as of now.

It will be enough.

>> 3) wcwidth/wcswidth may return -1 too, it needs to be checked too.
> done and truncate the name of the month to the latest valid character

I think there is no point for sofisticated truncating, if locale is not
valid. F.e. you may truncate to just 1 char. The thing above will be
enough for all such cases.

> Review updated (if you prefer a diff by mail just tell me, given you do=
 not have
> a phabricator account.)

I don't have phabricator.

This one
if ((n =3D max_month_width - wab_months_width[i]) > 0) {
    wcslcat(wab_months[i], L"     "/* MAX_ABMON_WIDTH */,
        max_month_width + 1);
}
should be
if ((n =3D max_month_width - wab_months_width[i]) > 0)
    wcslcat(wab_months[i], L"     "/* MAX_ABMON_WIDTH */, n);

I.e. you append n spaces and n is the difference between max and current.=


--=20
http://ache.vniz.net/


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

-----BEGIN PGP SIGNATURE-----

iQEcBAEBCAAGBQJWVbjaAAoJEKUckv0MjfbKP6UH/i3wGDoHi0LaQJaLz0JnIkv7
TqGLSQ0P0CxGMhGh1q9CF6VCklNLubpj5WOUto82afpLUF0aHh7GYYJJHVevKEhT
fGpPKOqQn4Hlk9EdlYUbYdBejXMfwT7cM+WUkdRpknM+jnRaqTG4dlyFPLayAjTI
L3v1V8TfjVRODJDSaNdDNT5B+78TOiYMd294QXzhCBGLA/U1KLpAvW2lutNyNOma
pqt05UPrKc6wyDquz+6I4g+NwUNBt37w7/u+shsJX8cP9BwrkHIDWN4O3xJtebXx
4NazKlo7oIS0ykpxzwuJkRY7jzEsxl8IXvrEYnSlezTU2IjjmJTXSfQgcLutapM=
=HiLH
-----END PGP SIGNATURE-----

--5a6HHSNuFHhw07DPRVifHKtfIA4gI4q4w--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5655B8D9.8060805>