regression in process_text_window()
original code:
if (linestart && (*cp & 0x80) != 0) {
g_putch(*cp);
end_glyphout();
linestart = FALSE;
} else {
(void) putchar(*cp);
}
new code:
if (linestart) {
if (SYMHANDLING(H_UTF8)) {
/* FIXME: what is actually in that line? is it the \GNNNNNNNN or UTF-8? */
g_putch(*cp);
} else if ((*cp & 0x80) != 0) {
g_putch(*cp);
end_glyphout();
}
linestart = FALSE;
} else {
(void) putchar(*cp);
}
The new code didn't output a character if linestart was true and the character did
not have bit 0x80 set.
fixed code:
if (linestart) {
if (SYMHANDLING(H_UTF8)) {
/* FIXME: what is actually in that line? is it the \GNNNNNNNN or UTF-8? */
g_putch(*cp);
} else if ((*cp & 0x80) != 0) {
g_putch(*cp);
end_glyphout();
} else {
(void) putchar(*cp);
}
linestart = FALSE;
} else {
(void) putchar(*cp);
}
This commit is contained in:
@@ -2368,6 +2368,8 @@ process_text_window(winid window, struct WinDesc *cw)
|
|||||||
} else if ((*cp & 0x80) != 0) {
|
} else if ((*cp & 0x80) != 0) {
|
||||||
g_putch(*cp);
|
g_putch(*cp);
|
||||||
end_glyphout();
|
end_glyphout();
|
||||||
|
} else {
|
||||||
|
(void) putchar(*cp);
|
||||||
}
|
}
|
||||||
linestart = FALSE;
|
linestart = FALSE;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user