diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-12-25 08:17:48 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-12-25 08:17:48 -0500 |
commit | 15e7f8b92aed71819411025279cd3df37f8c636b (patch) | |
tree | 6bc90fd9fcdd4e58321e3f881b2fbcb108a6a654 /lib/parser.c | |
parent | 21949f00a022e090a7e8bc9a01dfca88273c6146 (diff) | |
parent | ef18beded8ddbaafdf4914bab209f77e60ae3a18 (diff) |
Merge branch 'fix/hda' into topic/hda
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[]) | |||
56 | 56 | ||
57 | args[argc].from = s; | 57 | args[argc].from = s; |
58 | switch (*p++) { | 58 | switch (*p++) { |
59 | case 's': | 59 | case 's': { |
60 | if (strlen(s) == 0) | 60 | size_t str_len = strlen(s); |
61 | |||
62 | if (str_len == 0) | ||
61 | return 0; | 63 | return 0; |
62 | else if (len == -1 || len > strlen(s)) | 64 | if (len == -1 || len > str_len) |
63 | len = strlen(s); | 65 | len = str_len; |
64 | args[argc].to = s + len; | 66 | args[argc].to = s + len; |
65 | break; | 67 | break; |
68 | } | ||
66 | case 'd': | 69 | case 'd': |
67 | simple_strtol(s, &args[argc].to, 0); | 70 | simple_strtol(s, &args[argc].to, 0); |
68 | goto num; | 71 | goto num; |