diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-12-26 14:52:54 +0000 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-12-26 14:52:54 +0000 |
commit | 7f50548abb5454bd82c25aae15f0a3bf6a530f46 (patch) | |
tree | 175b5d695437151f0f9f778ad8eb7f274468842f /lib/parser.c | |
parent | b3172f222ab5afdc91ea058bd11c42cf169728f3 (diff) | |
parent | 6b7b284958d47b77d06745b36bc7f36dab769d9b (diff) | |
download | kernel-crypto-7f50548abb5454bd82c25aae15f0a3bf6a530f46.tar.gz kernel-crypto-7f50548abb5454bd82c25aae15f0a3bf6a530f46.tar.xz kernel-crypto-7f50548abb5454bd82c25aae15f0a3bf6a530f46.zip |
Merge commit 'v2.6.33-rc2' into for-2.6.33
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 b00d02059a5..fb34977246b 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; |