lkml.org 
[lkml]   [2006]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 1/2] strstrip API
    From
    Date
    From: Pekka Enberg <penberg@cs.helsinki.fi>

    This patch adds a new strstrip() function to lib/string.c for removing
    leading and trailing whitespace from a string.

    Cc: Michael Holzheu <holzheu@de.ibm.com>
    Cc: Ingo Oeser <ioe-lkml@rameria.de>
    Cc: Jörn Engel <joern@wohnheim.fh-wedel.de>
    Cc: Corey Minyard <minyard@acm.org>
    Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>

    ---

    include/linux/string.h | 1 +
    lib/string.c | 30 ++++++++++++++++++++++++++++++
    2 files changed, 31 insertions(+), 0 deletions(-)

    1a360da62131fb81460ca4abf93d20b9d0d390ff
    diff --git a/include/linux/string.h b/include/linux/string.h
    index c61306d..e4c7558 100644
    --- a/include/linux/string.h
    +++ b/include/linux/string.h
    @@ -56,6 +56,7 @@ #endif
    #ifndef __HAVE_ARCH_STRRCHR
    extern char * strrchr(const char *,int);
    #endif
    +extern char * strstrip(char *);
    #ifndef __HAVE_ARCH_STRSTR
    extern char * strstr(const char *,const char *);
    #endif
    diff --git a/lib/string.c b/lib/string.c
    index 064f631..6307726 100644
    --- a/lib/string.c
    +++ b/lib/string.c
    @@ -301,6 +301,36 @@ char *strnchr(const char *s, size_t coun
    EXPORT_SYMBOL(strnchr);
    #endif

    +/**
    + * strstrip - Removes leading and trailing whitespace from @s.
    + * @s: The string to be stripped.
    + *
    + * 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.
    + */
    +char *strstrip(char *s)
    +{
    + size_t size;
    + char *end;
    +
    + size = strlen(s);
    +
    + if (!size)
    + return s;
    +
    + end = s + size - 1;
    + while (end != s && isspace(*end))
    + end--;
    + *(end + 1) = '\0';
    +
    + while (*s && isspace(*s))
    + s++;
    +
    + return s;
    +}
    +EXPORT_SYMBOL(strstrip);
    +
    #ifndef __HAVE_ARCH_STRLEN
    /**
    * strlen - Find the length of a string
    --
    1.3.0


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-04-25 11:13    [W:0.020 / U:59.740 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site