diff options
| author | Takashi Iwai <tiwai@suse.de> | 2009-12-17 14:27:22 +0300 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2009-12-17 14:27:22 +0300 |
| commit | 67cbf8a216259dceefe570f6dc14746f43b2e627 (patch) | |
| tree | 1eca0b9922dee01b4d00dc0713b7ff434dddd44c /lib/parser.c | |
| parent | 6c941c8556dd9269be621cd8159fc60e955a91b3 (diff) | |
| parent | 2fbe74b90bafebce615466b4c20f96b0465df1ae (diff) | |
| download | linux-67cbf8a216259dceefe570f6dc14746f43b2e627.tar.xz | |
Merge branch 'fix/misc' into topic/misc
Diffstat (limited to 'lib/parser.c')
| -rw-r--r-- | lib/parser.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/parser.c b/lib/parser.c index b00d02059a5f..fb34977246bb 100644 --- a/lib/parser.c +++ b/lib/parser.c @@ -56,13 +56,16 @@ static int match_one(char *s, const char *p, substring_t args[]) args[argc].from = s; switch (*p++) { - case 's': - if (strlen(s) == 0) + case 's': { + size_t str_len = strlen(s); + + if (str_len == 0) return 0; - else if (len == -1 || len > strlen(s)) - len = strlen(s); + if (len == -1 || len > str_len) + len = str_len; args[argc].to = s + len; break; + } case 'd': simple_strtol(s, &args[argc].to, 0); goto num; |
