diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-07-24 19:54:42 +0400 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-07-24 19:54:42 +0400 |
commit | 990d0f63eeb502c8762076e5c5499196e09cba55 (patch) | |
tree | 30a2091a8159b1694d65f9952e2aba2667d7dc11 /coreutils/expr.c | |
parent | bcb66ec22e82f6b1ab93f3aec917269393a5b464 (diff) |
Replace index_in_[sub]str_array with index_in_[sub]strings,
which scans thru "abc\0def\0123\0\0" type strings. Saves 250 bytes.
text data bss dec hex filename
781266 1328 11844 794438 c1f46 busybox_old
781010 1328 11844 794182 c1e46 busybox_unstripped
Diffstat (limited to 'coreutils/expr.c')
-rw-r--r-- | coreutils/expr.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/coreutils/expr.c b/coreutils/expr.c index ab182a804..6a4683d90 100644 --- a/coreutils/expr.c +++ b/coreutils/expr.c @@ -277,14 +277,13 @@ static VALUE *eval7(void) static VALUE *eval6(void) { - static const char * const keywords[] = { - "quote", "length", "match", "index", "substr", NULL - }; + static const char keywords[] = + "quote\0""length\0""match\0""index\0""substr\0"; VALUE *r, *i1, *i2; VALUE *l = l; /* silence gcc */ VALUE *v = v; /* silence gcc */ - int key = *G.args ? index_in_str_array(keywords, *G.args) + 1 : 0; + int key = *G.args ? index_in_strings(keywords, *G.args) + 1 : 0; if (key == 0) /* not a keyword */ return eval7(); |