unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
blob a55707e423f366af1057d741c19e948048d81429 868 bytes (raw)
name: gnu/packages/patches/nvi-no-one-line-visual.patch 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
This patch originates from the Debian project, see https://www.debian.org/

10no_one_line_visual.dpatch by  <hesso@pool.math.tu-berlin.de>


Catch segfaults when the screen is only one line high.

diff -Naur nvi-1.81.6.orig/vi/vi.c nvi-1.81.6/vi/vi.c
--- nvi-1.81.6.orig/vi/vi.c	2007-11-18 17:41:42.000000000 +0100
+++ nvi-1.81.6/vi/vi.c	2008-05-01 18:15:14.000000000 +0200
@@ -974,6 +974,14 @@
 	sp->rows = vip->srows = O_VAL(sp, O_LINES);
 	sp->cols = O_VAL(sp, O_COLUMNS);
 	sp->t_rows = sp->t_minrows = O_VAL(sp, O_WINDOW);
+	/*
+	 * To avoid segfaults on terminals with only one line,
+	 * catch this corner case now and die explicitly.
+	 */
+	if (sp->t_rows == 0) {
+		(void)fprintf(stderr, "Error: Screen too small for visual mode.\n");
+		return 1;
+	}
 	if (sp->rows != 1) {
 		if (sp->t_rows > sp->rows - 1) {
 			sp->t_minrows = sp->t_rows = sp->rows - 1;

debug log:

solving a55707e ...
found a55707e in https://yhetil.org/guix-devel/54BE9C68.9070103@gmail.com/

applying [1/1] https://yhetil.org/guix-devel/54BE9C68.9070103@gmail.com/
diff --git a/gnu/packages/patches/nvi-no-one-line-visual.patch b/gnu/packages/patches/nvi-no-one-line-visual.patch
new file mode 100644
index 0000000..a55707e

1:18: space before tab in indent.
 	sp->rows = vip->srows = O_VAL(sp, O_LINES);
1:19: space before tab in indent.
 	sp->cols = O_VAL(sp, O_COLUMNS);
1:20: space before tab in indent.
 	sp->t_rows = sp->t_minrows = O_VAL(sp, O_WINDOW);
1:29: space before tab in indent.
 	if (sp->rows != 1) {
1:30: space before tab in indent.
 		if (sp->t_rows > sp->rows - 1) {
Checking patch gnu/packages/patches/nvi-no-one-line-visual.patch...
Applied patch gnu/packages/patches/nvi-no-one-line-visual.patch cleanly.
warning: squelched 1 whitespace error
warning: 6 lines add whitespace errors.

index at:
100644 a55707e423f366af1057d741c19e948048d81429	gnu/packages/patches/nvi-no-one-line-visual.patch

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).