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:
Родитель
bdd97ca63f
Коммит
ecbe5e10d4
|
@ -322,12 +322,8 @@ char *strxfrchar(char *s, char from, char to)
|
|||
*/
|
||||
char *ltrim(char *s)
|
||||
{
|
||||
int len = strlen(s);
|
||||
|
||||
while (len && isspace(*s)) {
|
||||
len--;
|
||||
while (isspace(*s))
|
||||
s++;
|
||||
}
|
||||
|
||||
return s;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче