expr: on error, exit with exitcode 2
expr_main 101 110 +9
This commit is contained in:
parent
98f5cdfca7
commit
272710fe93
@ -481,24 +481,21 @@ static VALUE *eval(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int expr_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
int expr_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||||
int expr_main(int argc, char **argv)
|
int expr_main(int argc UNUSED_PARAM, char **argv)
|
||||||
{
|
{
|
||||||
VALUE *v;
|
VALUE *v;
|
||||||
|
|
||||||
if (argc == 1) {
|
xfunc_error_retval = 2; /* coreutils compat */
|
||||||
|
G.args = argv + 1;
|
||||||
|
if (*G.args == NULL) {
|
||||||
bb_error_msg_and_die("too few arguments");
|
bb_error_msg_and_die("too few arguments");
|
||||||
}
|
}
|
||||||
|
|
||||||
G.args = argv + 1;
|
|
||||||
|
|
||||||
v = eval();
|
v = eval();
|
||||||
if (*G.args)
|
if (*G.args)
|
||||||
bb_error_msg_and_die("syntax error");
|
bb_error_msg_and_die("syntax error");
|
||||||
|
|
||||||
if (v->type == INTEGER)
|
if (v->type == INTEGER)
|
||||||
printf("%" PF_REZ "d\n", PF_REZ_TYPE v->u.i);
|
printf("%" PF_REZ "d\n", PF_REZ_TYPE v->u.i);
|
||||||
else
|
else
|
||||||
puts(v->u.s);
|
puts(v->u.s);
|
||||||
|
|
||||||
fflush_stdout_and_exit(null(v));
|
fflush_stdout_and_exit(null(v));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user