commit: a5774d47a8ed447e046f613064e057c835f66191
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 1 15:12:38 2019 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon Apr 1 15:13:17 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5774d47
app-editors/nano: Revbump to apply upstream fix. Removed old.
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
.../files/nano-4.0-variable_initialization.patch | 39 ++++++++++++++++++++++
.../nano/{nano-4.0.ebuild => nano-4.0-r1.ebuild} | 5 +++
2 files changed, 44 insertions(+)
diff --git a/app-editors/nano/files/nano-4.0-variable_initialization.patch
b/app-editors/nano/files/nano-4.0-variable_initialization.patch
new file mode 100644
index 00000000000..c72122ed703
--- /dev/null
+++ b/app-editors/nano/files/nano-4.0-variable_initialization.patch
@@ -0,0 +1,39 @@
+From 7ad232d71470cd8c4dc63aeb02f11c9e8df9ecdb Mon Sep 17 00:00:00 2001
+From: Devin Hussey <[email protected]>
+Date: Thu, 28 Mar 2019 17:28:47 -0400
+Subject: [PATCH] files: initialize a variable before referencing it
+
+The lack of initialization caused a nasty bug on some targets (such as
+ARMv7) which would make it so that ^S would just say "Cancelled".
+
+While x86 (both 64 and 32 bits) seems to initialize 'response' to zero or
+a positive number, ARM does not, and there is usually a negative value in
+its place, which triggers the 'if (response < 0)' check and, as a result,
+the code says "Cancelled".
+
+This fixes https://savannah.gnu.org/bugs/?56023.
+Reported-by: Devin Hussey <[email protected]>
+
+Bug existed since version 4.0, commit 0f9d60a3.
+
+Signed-off-by: Devin Hussey <[email protected]>
+---
+ src/files.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/files.c b/src/files.c
+index 84e3f684..fd54c168 100644
+--- a/src/files.c
++++ b/src/files.c
+@@ -2101,7 +2101,7 @@ int do_writeout(bool exiting, bool withprompt)
+
+ while (TRUE) {
+ const char *msg;
+- int response, choice;
++ int response = 0, choice = 0;
+ functionptrtype func;
+ #ifndef NANO_TINY
+ const char *formatstr, *backupstr;
+--
+2.20.1
+
diff --git a/app-editors/nano/nano-4.0.ebuild
b/app-editors/nano/nano-4.0-r1.ebuild
similarity index 97%
rename from app-editors/nano/nano-4.0.ebuild
rename to app-editors/nano/nano-4.0-r1.ebuild
index aa130516a9a..05e4012530b 100644
--- a/app-editors/nano/nano-4.0.ebuild
+++ b/app-editors/nano/nano-4.0-r1.ebuild
@@ -32,6 +32,11 @@ BDEPEND="
nls? ( sys-devel/gettext )
virtual/pkgconfig
"
+
+PATCHES=(
+ "${FILESDIR}/${P}-variable_initialization.patch"
+)
+
src_prepare() {
default
if [[ ${PV} == "9999" ]] ; then