expr: small code shrink
authorDenis Vlasenko <vda.linux@googlemail.com>
Sun, 1 Jul 2007 18:33:35 +0000 (18:33 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Sun, 1 Jul 2007 18:33:35 +0000 (18:33 -0000)
coreutils/expr.c

index 46e18d1904a6b64877100233c1f80864ac284316..ab182a804bf2bd1183362c1d5fe711716f8aae76 100644 (file)
@@ -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));