From: Simon Glass Date: Thu, 1 May 2025 11:10:08 +0000 (-0600) Subject: strim: Sync up with Linux version X-Git-Tag: v2025.10-rc1~118^2~88^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aea684a0c31cb2b0442eab965c2b08ed8d1abfd0;p=thirdparty%2Fu-boot.git strim: Sync up with Linux version Linux changed the behaviour of strim() so that a string with only spaces reduces places the terminator at the start of the string, rather than returning a pointer to the end of the string. Bring in this version, from Linux v6.14 Add a comment about the new behaviour. Signed-off-by: Simon Glass --- diff --git a/lib/linux_string.c b/lib/linux_string.c index d5a5e08d98c..4b92cd923f2 100644 --- a/lib/linux_string.c +++ b/lib/linux_string.c @@ -31,13 +31,15 @@ char *skip_spaces(const char *str) * Note that the first trailing whitespace is replaced with a %NUL-terminator * in the given string @s. Returns a pointer to the first non-whitespace * character in @s. + * + * Note that if the string consist of only spaces, then the terminator is placed + * at the start of the string, with the return value pointing there also. */ char *strim(char *s) { size_t size; char *end; - s = skip_spaces(s); size = strlen(s); if (!size) return s; @@ -47,5 +49,5 @@ char *strim(char *s) end--; *(end + 1) = '\0'; - return s; + return skip_spaces(s); }