summaryrefslogtreecommitdiffstats
path: root/sys-apps/util-linux/files/util-linux-2.12r-cal-dumb-terminal.patch
blob: 073506ec7e87e22710a660e6792163bae4581efb (plain)
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
26
27
28
29
30
31
32
33
34
35
36
37
If you try to use cal on a terminal which doesnt support highlighting,
Senter and Sexit will be set to NULL instead of "" which will cause the
resulting output to be off:

$ env TERM=dumb cal
   December 2005
Su Mo Tu We Th Fr Sa
             1  2  3
 4  5  6  7  8  9 10
111 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

http://bugs.gentoo.org/112406

--- util-linux/misc-utils/cal.c
+++ util-linux/misc-utils/cal.c
@@ -89,7 +89,8 @@
 
 static char *
 my_tgetstr(char *s, char *ss) {
-     return tigetstr(ss);
+     char *ret = tigetstr(ss);
+     return (ret == NULL ? "" : ret);
 }
 
 #elif defined(HAVE_termcap)
@@ -112,7 +113,8 @@
 
 static char *
 my_tgetstr(char *s, char *ss) {
-     return tgetstr(s, &strbuf);
+     char *ret = tgetstr(s, &strbuf);
+     return (ret == NULL ? "" : ret);
 }
 
 #endif