string-util: tweak ellipsation a bit
authorLennart Poettering <lennart@poettering.net>
Wed, 11 Apr 2018 17:52:25 +0000 (19:52 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 18 Apr 2018 10:35:45 +0000 (12:35 +0200)
commitc30a49b2d019d8657f5a2ca1a3bfdd8bc7ca673c
tree6c9bd1c638d36ff277899658c370ed2819f68737
parentadea407d111c04deef81e2e615de6102adb3956a
string-util: tweak ellipsation a bit

This primarily changes to things:

1. Ellipsation to 0, 1 or 2 characters is now supported. Previously we'd
   hit an assert if the new lengths was < 3, this is now permitted. The
   result strings won't show too much info still of course, but the code
   becomes a bit more generic and robust to use.

2. If a UTF-8 mode is disabled and the input string is pure ASCII, then
   "..." is used for ellipsation, otherwise (as before) "…". This means
   on a pure-ASCII system we should remain pure-ASCII, matching
   behaviour otherwise exposed with special_glyph() and friends. Note
   that we'll use "…" for ellipsiation as soon as either the locale
   settings indicate an UTF-8 mode or the input string already contains
   non-ASCII unicode characters.

Testing for these special cases is improved.
src/basic/string-util.c
src/test/test-ellipsize.c