uboot/lib/linux_string.c
<<
>>
Prefs
   1/*
   2 *  linux/lib/string.c
   3 *
   4 *  Copyright (C) 1991, 1992  Linus Torvalds
   5 */
   6
   7#ifdef USE_HOSTCC
   8#include <stdio.h>
   9#endif
  10
  11#include <linux/ctype.h>
  12#include <linux/string.h>
  13
  14/**
  15 * skip_spaces - Removes leading whitespace from @str.
  16 * @str: The string to be stripped.
  17 *
  18 * Returns a pointer to the first non-whitespace character in @str.
  19 */
  20char *skip_spaces(const char *str)
  21{
  22        while (isspace(*str))
  23                ++str;
  24        return (char *)str;
  25}
  26
  27/**
  28 * strim - Removes leading and trailing whitespace from @s.
  29 * @s: The string to be stripped.
  30 *
  31 * Note that the first trailing whitespace is replaced with a %NUL-terminator
  32 * in the given string @s. Returns a pointer to the first non-whitespace
  33 * character in @s.
  34 */
  35char *strim(char *s)
  36{
  37        size_t size;
  38        char *end;
  39
  40        s = skip_spaces(s);
  41        size = strlen(s);
  42        if (!size)
  43                return s;
  44
  45        end = s + size - 1;
  46        while (end >= s && isspace(*end))
  47                end--;
  48        *(end + 1) = '\0';
  49
  50        return s;
  51}
  52