mirror of
https://git.yoctoproject.org/poky
synced 2026-05-31 00:39:46 +00:00
bc: 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
(From OE-Core rev: ab16d9ccaf824fbda5e43c5b3cbdc43ec70be87f)
Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -0,0 +1,44 @@
|
|||||||
|
From e174b6e7d195d5a7465575641b7f68581f162574 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Li Zhou <li.zhou@windriver.com>
|
||||||
|
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 <li.zhou@windriver.com>
|
||||||
|
---
|
||||||
|
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
|
||||||
|
|
||||||
@@ -13,7 +13,8 @@ DEPENDS = "flex-native"
|
|||||||
|
|
||||||
SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
|
SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
|
||||||
file://no-gen-libmath.patch \
|
file://no-gen-libmath.patch \
|
||||||
file://libmath.h"
|
file://libmath.h \
|
||||||
|
file://0001-dc-fix-exit-code-of-q-command.patch"
|
||||||
SRC_URI[md5sum] = "cda93857418655ea43590736fc3ca9fc"
|
SRC_URI[md5sum] = "cda93857418655ea43590736fc3ca9fc"
|
||||||
SRC_URI[sha256sum] = "62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a"
|
SRC_URI[sha256sum] = "62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user