From: Lennart Poettering Date: Fri, 10 Nov 2017 20:41:53 +0000 (+0100) Subject: string-util: when ellipsizing to a length if (size_t) -1, become a NOP X-Git-Tag: v236~235^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ddbc931986bac931a07a1aeb507a1a30153ac7ed;p=platform%2Fupstream%2Fsystemd.git string-util: when ellipsizing to a length if (size_t) -1, become a NOP Let's say that (size_t) -1 (i.e. SIZE_T_MAX) is equivalent to "unbounded" ellipsation, i.e. ellipsation as NOP. In which case the relevant functions become little more than strdup()/strndup(). This is useful to simplify caller code in case we want to turn off ellipsation in certain code paths with minimal caller-side handling for this. --- diff --git a/src/basic/string-util.c b/src/basic/string-util.c index 3179fba..6fb4134 100644 --- a/src/basic/string-util.c +++ b/src/basic/string-util.c @@ -472,6 +472,10 @@ char *ellipsize_mem(const char *s, size_t old_length, size_t new_length, unsigne assert(s); assert(percent <= 100); + + if (new_length == (size_t) -1) + return strndup(s, old_length); + assert(new_length >= 3); /* if no multibyte characters use ascii_ellipsize_mem for speed */ @@ -539,6 +543,10 @@ char *ellipsize_mem(const char *s, size_t old_length, size_t new_length, unsigne } char *ellipsize(const char *s, size_t length, unsigned percent) { + + if (length == (size_t) -1) + return strdup(s); + return ellipsize_mem(s, strlen(s), length, percent); }