freebsd-ports/sysutils/screen/files/patch-ah
Andrey A. Chernov dd68e0c31c Fixes a bug regarding the `(def)encoding' directive that NUL characters are all
discarded if you use it.

Submitted by:	"Akinori MUSHA" <knu@iDaemons.org>
Obtained from:	Michael Schroeder
2002-03-13 22:33:40 +00:00

49 lines
1.2 KiB
Text

--- ./display.c.orig Fri Feb 22 12:56:57 2002
+++ ./display.c Fri Feb 22 13:02:10 2002
@@ -3371,7 +3371,7 @@
{
int font = 0;
j += EncodeChar(buf2 + j, c, D_forecv->c_layer->l_encoding, &font);
- j += EncodeChar(buf2 + j, 0, D_forecv->c_layer->l_encoding, &font);
+ j += EncodeChar(buf2 + j, -1, D_forecv->c_layer->l_encoding, &font);
}
else
j += EncodeChar(buf2 + j, c, D_forecv->c_layer->l_encoding, 0);
--- ./encoding.c.orig Fri Feb 22 12:57:46 2002
+++ ./encoding.c Fri Feb 22 13:01:30 2002
@@ -1032,7 +1032,7 @@
int t, f, l;
debug2("Encoding char %02x for encoding %d\n", c, encoding);
- if (c == 0 && fontp)
+ if (c == -1 && fontp)
{
if (*fontp == 0)
return 0;
@@ -1297,7 +1297,7 @@
continue;
j += EncodeChar(tbuf ? (char *)tbuf + j : 0, c, tenc, &font);
}
- j += EncodeChar(tbuf ? (char *)tbuf + j : 0, 0, tenc, &font);
+ j += EncodeChar(tbuf ? (char *)tbuf + j : 0, -1, tenc, &font);
return j;
}
@@ -1456,7 +1456,7 @@
int *fontp;
{
int f, l;
- f = c >> 16;
+ f = (c == -1) ? 0 : c >> 16;
l = 0;
if (fontp && f != *fontp)
{
@@ -1486,7 +1486,7 @@
l += 3;
}
}
- if (c == 0)
+ if (c == -1)
return l;
if (c & 0xff00)
{