From e174b6e7d195d5a7465575641b7f68581f162574 Mon Sep 17 00:00:00 2001 From: Li Zhou Date: Thu, 27 Jun 2019 13:10:47 +0800 Subject: [PATCH] dc: fix exit code of q command The exit code for "echo q | dc" is 1 for dc-1.4.1; while the exit code for "echo q | dc" is 0 for dc-1.4. Here is the answer from ken@gnu.org: dc-1.4 was right. There was a rewrite of a chunk of code for 1.4.1 to fix a corner case in the Q command, and somehow the placement of the clean-up label for the 'q' command got misplaced on the error-handling branch instead of the clean-exit branch. The patch below fixes this (it is committed for whenever the next bc/dc release gets made). Thanks for the report, --Ken Pizzini Upstream-Status: Backport [Got the solution from maintainer] Signed-off-by: Li Zhou --- dc/eval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dc/eval.c b/dc/eval.c index 05a3d9e..bcab8db 100644 --- a/dc/eval.c +++ b/dc/eval.c @@ -814,10 +814,10 @@ error_fail: fprintf(stderr, "%s: ", progname); perror("error reading input"); return DC_FAIL; -reset_and_exit_quit: reset_and_exit_fail: signal(SIGINT, sigint_default); return DC_FAIL; +reset_and_exit_quit: reset_and_exit_success: signal(SIGINT, sigint_default); return DC_SUCCESS; -- 1.9.1