diff options
author | Gavin Howard <yzena.tech@gmail.com> | 2021-02-16 09:42:46 -0700 |
---|---|---|
committer | Gavin Howard <yzena.tech@gmail.com> | 2021-02-16 09:42:46 -0700 |
commit | 580e4ada7319f34a06d0ab0ef8c3037283af085e (patch) | |
tree | 7300730cfb3b525ca1bfe8605b0d402f474de0b3 /src/args.c | |
parent | 38a619a84880493fed378e05df6972bac8614855 (diff) | |
download | platform_external_bc-580e4ada7319f34a06d0ab0ef8c3037283af085e.tar.gz platform_external_bc-580e4ada7319f34a06d0ab0ef8c3037283af085e.tar.bz2 platform_external_bc-580e4ada7319f34a06d0ab0ef8c3037283af085e.zip |
Make bc/dc not exit with -e and -f in B/DC_ENV_ARGS
This behavior was requested by my one user on NetBSD, and after checking
with Stefan Esser of FreeBSD, we decided that it wasn't a big enough
deal to not do. In fact, in my mind, it fixes a lot of problems with how
B/DC_ENV_ARGS interacts with scripts.
Diffstat (limited to 'src/args.c')
-rw-r--r-- | src/args.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -89,7 +89,7 @@ static void bc_args_file(const char *file) { free(buf); } -void bc_args(int argc, char *argv[]) { +void bc_args(int argc, char *argv[], bool exit_exprs) { int c; size_t i; @@ -109,6 +109,7 @@ void bc_args(int argc, char *argv[]) { if (vm.no_exit_exprs) bc_vm_verr(BC_ERR_FATAL_OPTION, "-e (--expression)"); bc_args_exprs(opts.optarg); + vm.exit_exprs = (exit_exprs || vm.exit_exprs); break; } @@ -119,6 +120,7 @@ void bc_args(int argc, char *argv[]) { if (vm.no_exit_exprs) bc_vm_verr(BC_ERR_FATAL_OPTION, "-f (--file)"); bc_args_file(opts.optarg); + vm.exit_exprs = (exit_exprs || vm.exit_exprs); } break; } |