Hi all,
I found the source of the problem, in test.c (svn), line 322:
smallint val1, val2;
the type of these two variables must be arith_t because their values
returned by getn:
static arith_t getn(const char *s)
I attached a patch to correct this bug.
Malek
--- busybox/coreutils/test.c.orig 2007-05-24 21:49:21.000000000 +0200
+++ busybox/coreutils/test.c 2007-05-24 21:53:38.000000000 +0200
@@ -181,7 +181,7 @@ static void initialize_group_array(void)
int bb_test(int argc, char **argv)
{
- int res;
+ arith_t res;
if (LONE_CHAR(argv[0], '[')) {
--argc;
@@ -319,7 +319,7 @@ static int binop(void)
{
const char *opnd1, *opnd2;
struct t_op const *op;
- smallint val1, val2;
+ arith_t val1, val2;
opnd1 = *t_wp;
(void) t_lex(*++t_wp);
@@ -473,11 +473,7 @@ static enum token t_lex(char *s)
static arith_t getn(const char *s)
{
char *p;
-#if ENABLE_FEATURE_TEST_64
- long long r;
-#else
- long r;
-#endif
+ arith_t r;
errno = 0;
#if ENABLE_FEATURE_TEST_64
_______________________________________________
busybox mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/busybox