diff options
Diffstat (limited to 'tools/env/fw_env.c')
-rw-r--r-- | tools/env/fw_env.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c index 0a438a3be42..60574f249d3 100644 --- a/tools/env/fw_env.c +++ b/tools/env/fw_env.c @@ -133,14 +133,19 @@ static inline ulong getenvsize (void) return rc; } -static char *fw_string_blank(char *s, int noblank) +static char *skip_chars(char *s) { - int i; - int len = strlen(s); + for (; *s != '\0'; s++) { + if (isblank(*s)) + return s; + } + return NULL; +} - for (i = 0; i < len; i++, s++) { - if ((noblank && !isblank(*s)) || - (!noblank && isblank(*s))) +static char *skip_blanks(char *s) +{ + for (; *s != '\0'; s++) { + if (!isblank(*s)) return s; } return NULL; @@ -575,17 +580,17 @@ int fw_parse_script(char *fname) * Search for variable's name, * remove leading whitespaces */ - name = fw_string_blank(dump, 1); + name = skip_blanks(dump); if (!name) continue; /* The first white space is the end of variable name */ - val = fw_string_blank(name, 0); + val = skip_chars(name); len = strlen(name); if (val) { *val++ = '\0'; if ((val - name) < len) - val = fw_string_blank(val, 1); + val = skip_blanks(val); else val = NULL; } |