From 675de3f5c190cc4fbdf3d05e2b86731a9772398e Mon Sep 17 00:00:00 2001 From: Ondrej Oprala Date: Mon, 23 Sep 2013 15:39:34 +0200 Subject: [PATCH] strutils: add skip_space() function [kzak@redhat.com: - add also skip_blank(), - remove duplicate implementation from libmount] Signed-off-by: Ondrej Oprala Signed-off-by: Karel Zak --- include/strutils.h | 18 ++++++++++++++++++ libmount/src/tab_parse.c | 17 ++++------------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/include/strutils.h b/include/strutils.h index c7fe42a632..3883b4288f 100644 --- a/include/strutils.h +++ b/include/strutils.h @@ -5,6 +5,7 @@ #include #include #include +#include /* default strtoxx_or_err() exit code */ #ifndef STRTOXX_EXIT_CODE @@ -143,4 +144,21 @@ static inline const char *endswith(const char *s, const char *postfix) return (char *)s + sl - pl; } +/* + * Skip leading white space. + */ +static inline const char *skip_space(const char *p) +{ + while (isspace(*p)) + ++p; + return p; +} + +static inline const char *skip_blank(const char *p) +{ + while (isblank(*p)) + ++p; + return p; +} + #endif diff --git a/libmount/src/tab_parse.c b/libmount/src/tab_parse.c index 532f0ec04a..9246d420bd 100644 --- a/libmount/src/tab_parse.c +++ b/libmount/src/tab_parse.c @@ -22,15 +22,6 @@ #include "pathnames.h" #include "strutils.h" -static inline char *skip_spaces(char *s) -{ - assert(s); - - while (*s == ' ' || *s == '\t') - s++; - return s; -} - static int next_number(char **s, int *num) { char *end = NULL; @@ -38,7 +29,7 @@ static int next_number(char **s, int *num) assert(num); assert(s); - *s = skip_spaces(*s); + *s = (char *) skip_blank(*s); if (!**s) return -1; *num = strtol(*s, &end, 10); @@ -111,7 +102,7 @@ static int mnt_parse_table_line(struct libmnt_fs *fs, char *s) fs->passno = fs->freq = 0; if (xrc == 4 && n) - s = skip_spaces(s + n); + s = (char *) skip_blank(s + n); if (xrc == 4 && *s) { if (next_number(&s, &fs->freq) != 0) { if (*s) { @@ -346,7 +337,7 @@ static int guess_table_format(char *line) static int is_comment_line(char *line) { - char *p = skip_spaces(line); + char *p = (char *) skip_blank(line); if (p && (*p == '#' || *p == '\n')) return 1; @@ -474,7 +465,7 @@ next_line: *s = '\0'; if (--s >= buf && *s == '\r') *s = '\0'; - s = skip_spaces(buf); + s = (char *) skip_blank(buf); } while (*s == '\0' || *s == '#'); if (tb->fmt == MNT_FMT_GUESS) { -- 2.47.3