mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-02 09:46:37 +03:00
Merge tag 'dm-pull-16may25' of git://git.denx.de/u-boot-dm into next
Bring in the strim() changes and associated test
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -261,3 +261,40 @@ static int lib_strstr(struct unit_test_state *uts)
|
||||
return 0;
|
||||
}
|
||||
LIB_TEST(lib_strstr, 0);
|
||||
|
||||
static int lib_strim(struct unit_test_state *uts)
|
||||
{
|
||||
char buf[BUFLEN], *p;
|
||||
|
||||
strcpy(buf, "abc");
|
||||
ut_asserteq_str("abc", strim(buf));
|
||||
|
||||
/* leading space */
|
||||
strcpy(buf, " abc");
|
||||
ut_asserteq_str("abc", strim(buf));
|
||||
|
||||
/* multiple leading spaces */
|
||||
strcpy(buf, " abc");
|
||||
ut_asserteq_str("abc", strim(buf));
|
||||
|
||||
/* multiple internal spaces */
|
||||
strcpy(buf, " a bc");
|
||||
ut_asserteq_str("a bc", strim(buf));
|
||||
|
||||
/* with trailing space */
|
||||
strcpy(buf, " a bc ");
|
||||
ut_asserteq_str("a bc", strim(buf));
|
||||
|
||||
/* with multiple trailing spaces */
|
||||
strcpy(buf, " a bc ");
|
||||
ut_asserteq_str("a bc", strim(buf));
|
||||
|
||||
/* with only spaces */
|
||||
strcpy(buf, " ");
|
||||
p = strim(buf);
|
||||
ut_asserteq_ptr(p, buf);
|
||||
ut_asserteq_str("", p);
|
||||
|
||||
return 0;
|
||||
}
|
||||
LIB_TEST(lib_strim, 0);
|
||||
|
||||
Reference in New Issue
Block a user