perf string: Simplify ltrim() implementation
We don't need to use strlen(), a var, or check for the end explicitely,
isspace('\0') is false:
[acme@jouet c]$ cat ltrim.c
#include <ctype.h>
#include <stdio.h>
static char *ltrim(char *s)
{
while (isspace(*s))
++s;
return s;
}
int main(void)
{
printf("ltrim(\"\")='%s'\n", ltrim(""));
return 0;
}
[acme@jouet c]$ ./ltrim
ltrim("")=''
[acme@jouet c]$
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Taeung Song <treeze.taeung@gmail.com>
Link: http://lkml.kernel.org/n/tip-w3nk0x3pai2vojk2ab6kdvaw@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
@@ -322,12 +322,8 @@ char *strxfrchar(char *s, char from, char to)
|
|||||||
*/
|
*/
|
||||||
char *ltrim(char *s)
|
char *ltrim(char *s)
|
||||||
{
|
{
|
||||||
int len = strlen(s);
|
while (isspace(*s))
|
||||||
|
|
||||||
while (len && isspace(*s)) {
|
|
||||||
len--;
|
|
||||||
s++;
|
s++;
|
||||||
}
|
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user