shell/math: randomconfig fix

This commit is contained in:
Denis Vlasenko 2009-04-03 21:13:31 +00:00
parent 60b392fd5b
commit cc8289dc04
2 changed files with 4 additions and 6 deletions

View File

@ -414,14 +414,14 @@ arith_apply(operator op, v_n_t *numstack, v_n_t **numstackptr, a_e_h_t *math_hoo
rez %= numptr_val;
}
if (tok_have_assign(op)) {
char buf[sizeof(arith_t_type)*3 + 2];
char buf[sizeof(arith_t)*3 + 2];
if (numptr_m1->var == NULL) {
/* Hmm, 1=2 ? */
goto err;
}
/* save to shell variable */
snprintf(buf, sizeof(buf), arith_t_fmt, (arith_t_type) rez);
sprintf(buf, arith_t_fmt, rez);
setvar(numptr_m1->var, buf, 0);
/* after saving, make previous value for v++ or v-- */
if (op == TOK_POST_INC)
@ -668,7 +668,7 @@ arith(const char *expr, int *perrcode, a_e_h_t *math_hooks)
} /* while */
}
/*-
/*
* Copyright (c) 1989, 1991, 1993, 1994
* The Regents of the University of California. All rights reserved.
*

View File

@ -76,13 +76,11 @@
#define _SHELL_MATH_
#if ENABLE_SH_MATH_SUPPORT_64
typedef int64_t arith_t;
#define arith_t_type long long
typedef long long arith_t;
#define arith_t_fmt "%lld"
#define strto_arith_t strtoll
#else
typedef long arith_t;
#define arith_t_type long
#define arith_t_fmt "%ld"
#define strto_arith_t strtol
#endif