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:
Arnaldo Carvalho de Melo 2017-04-07 12:19:38 -03:00
Родитель bdd97ca63f
Коммит ecbe5e10d4
1 изменённых файлов: 1 добавлений и 5 удалений

Просмотреть файл

@ -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;
}