Messages in this thread Patch in this message | | | From | André Goddard Rosa <> | Subject | [PATCH] parser: remove unnecessary strlen() | Date | Wed, 18 Nov 2009 14:02:59 -0200 |
| |
No functional change. Cache strlen() result to avoid recalculating it up to 3 times on the worst case.
Reduces code size a little by 32 bytes: text data bss dec hex filename 1385 0 0 1385 569 lib/parser.o-BEFORE 1353 0 0 1353 549 lib/parser.o-AFTER
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com> --- lib/parser.c | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/lib/parser.c b/lib/parser.c index b00d020..fb34977 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; -- 1.6.5.3.148.g785c5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |