ash: revent one place where number() doesn't work
authorDenys Vlasenko <vda.linux@googlemail.com>
Sun, 30 Aug 2009 15:07:30 +0000 (17:07 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 30 Aug 2009 15:07:30 +0000 (17:07 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
shell/ash.c

index 524910950b8a9050fc069348c54e2f4c112d78a3..bb9464af9a7ec244ac645d7a1e98a42edaa73f76 100644 (file)
@@ -6400,7 +6400,7 @@ varvalue(char *name, int varflags, int flags, struct strlist *var_str_list)
        case '7':
        case '8':
        case '9':
-               num = number(name);
+               num = atoi(name); /* number(name) fails on ${var#str} etc */
                if (num < 0 || num > shellparam.nparam)
                        return -1;
                p = num ? shellparam.p[num - 1] : arg0;