From 28648edbe7e333ffbb9daa33f19ade30fc3b757a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Goddard=20Rosa?= Date: Mon, 14 Dec 2009 18:01:08 -0800 Subject: [PATCH] --- yaml --- r: 176377 b: refs/heads/master c: b5f54b07c06f6e438a4fee92c27423e880d8816b h: refs/heads/master i: 176375: 7d4e4886d160b4df60ee228898d3933048f9bda6 v: v3 --- [refs] | 2 +- trunk/lib/parser.c | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 40c96bf9534d..85c010439003 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e7d2860b690d4f3bed6824757c540579638e3d1e +refs/heads/master: b5f54b07c06f6e438a4fee92c27423e880d8816b diff --git a/trunk/lib/parser.c b/trunk/lib/parser.c index b00d02059a5f..fb34977246bb 100644 --- a/trunk/lib/parser.c +++ b/trunk/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;