diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-07-01 22:33:35 +0400 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-07-01 22:33:35 +0400 |
commit | c6753c1666d11391da56ebd5a2048af07f3bc9be (patch) | |
tree | c7003532d5297e24cf9b776dac1de0ecf3197ac2 /coreutils | |
parent | 679b41237ccbcb78b53df85eb9e95754158d62af (diff) |
expr: small code shrink
Diffstat (limited to 'coreutils')
-rw-r--r-- | coreutils/expr.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/coreutils/expr.c b/coreutils/expr.c index 46e18d190..ab182a804 100644 --- a/coreutils/expr.c +++ b/coreutils/expr.c @@ -277,12 +277,15 @@ static VALUE *eval7(void) static VALUE *eval6(void) { - VALUE *l, *r, *v = NULL /* silence gcc */, *i1, *i2; static const char * const keywords[] = { "quote", "length", "match", "index", "substr", NULL }; - smalluint key = *G.args ? index_in_str_array(keywords, *G.args) + 1 : 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; + if (key == 0) /* not a keyword */ return eval7(); G.args++; /* We have a valid token, so get the next argument. */ @@ -320,8 +323,8 @@ static VALUE *eval6(void) i2 = eval6(); tostring(l); if (!toarith(i1) || !toarith(i2) - || i1->u.i > (arith_t) strlen(l->u.s) - || i1->u.i <= 0 || i2->u.i <= 0) + || i1->u.i > (arith_t) strlen(l->u.s) + || i1->u.i <= 0 || i2->u.i <= 0) v = str_value(""); else { v = xmalloc(sizeof(VALUE)); |