X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Ftrim.c;h=62f8ebffe5f66532e5fb3d4ba8ef5675c4cb4549;hb=969fe755730d23ba7ff21ae7511f66067d0a94d8;hp=452d8bc740b23b7c3d912240f78e28bbc65ee776;hpb=4eda4ba54f3cf29f6b7fe4458e719cd2325be4c4;p=gnulib.git diff --git a/lib/trim.c b/lib/trim.c index 452d8bc74..62f8ebffe 100644 --- a/lib/trim.c +++ b/lib/trim.c @@ -1,5 +1,5 @@ /* Removes leading and/or trailing whitespaces - Copyright (C) 2006-2008 Free Software Foundation, Inc. + Copyright (C) 2006-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -53,61 +53,61 @@ trim2(const char *s, int how) /* Trim leading whitespaces. */ if (how != TRIM_TRAILING) - { - mbi_init (i, d, strlen (d)); + { + mbi_init (i, d, strlen (d)); - for (; mbi_avail (i) && mb_isspace (mbi_cur (i)); mbi_advance (i)) - ; + for (; mbi_avail (i) && mb_isspace (mbi_cur (i)); mbi_advance (i)) + ; - memmove (d, mbi_cur_ptr (i), strlen (mbi_cur_ptr (i)) + 1); - } + memmove (d, mbi_cur_ptr (i), strlen (mbi_cur_ptr (i)) + 1); + } /* Trim trailing whitespaces. */ if (how != TRIM_LEADING) - { - int state = 0; - char *r IF_LINT (= NULL); /* used only while state = 2 */ - - mbi_init (i, d, strlen (d)); - - for (; mbi_avail (i); mbi_advance (i)) - { - if (state == 0 && mb_isspace (mbi_cur (i))) - { - state = 0; - continue; - } - - if (state == 0 && !mb_isspace (mbi_cur (i))) - { - state = 1; - continue; - } - - if (state == 1 && !mb_isspace (mbi_cur (i))) - { - state = 1; - continue; - } - - if (state == 1 && mb_isspace (mbi_cur (i))) - { - state = 2; - r = (char *) mbi_cur_ptr (i); - } - else if (state == 2 && mb_isspace (mbi_cur (i))) - { - state = 2; - } - else - { - state = 1; - } - } - - if (state == 2) - *r = '\0'; - } + { + int state = 0; + char *r IF_LINT (= NULL); /* used only while state = 2 */ + + mbi_init (i, d, strlen (d)); + + for (; mbi_avail (i); mbi_advance (i)) + { + if (state == 0 && mb_isspace (mbi_cur (i))) + { + state = 0; + continue; + } + + if (state == 0 && !mb_isspace (mbi_cur (i))) + { + state = 1; + continue; + } + + if (state == 1 && !mb_isspace (mbi_cur (i))) + { + state = 1; + continue; + } + + if (state == 1 && mb_isspace (mbi_cur (i))) + { + state = 2; + r = (char *) mbi_cur_ptr (i); + } + else if (state == 2 && mb_isspace (mbi_cur (i))) + { + state = 2; + } + else + { + state = 1; + } + } + + if (state == 2) + *r = '\0'; + } } else { @@ -115,16 +115,16 @@ trim2(const char *s, int how) /* Trim leading whitespaces. */ if (how != TRIM_TRAILING) { - for (p = d; *p && isspace ((unsigned char) *p); p++) - ; + for (p = d; *p && isspace ((unsigned char) *p); p++) + ; - memmove (d, p, strlen (p) + 1); + memmove (d, p, strlen (p) + 1); } /* Trim trailing whitespaces. */ if (how != TRIM_LEADING) { - for (p = d + strlen (d) - 1; p >= d && isspace ((unsigned char) *p); p--) - *p = '\0'; + for (p = d + strlen (d) - 1; p >= d && isspace ((unsigned char) *p); p--) + *p = '\0'; } }