]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
SCO ACS part 2 (ESC[12m) apparently puts the top half of CP437 into
authorSimon Tatham <anakin@pobox.com>
Tue, 31 Dec 2002 11:03:23 +0000 (11:03 +0000)
committerSimon Tatham <anakin@pobox.com>
Tue, 31 Dec 2002 11:03:23 +0000 (11:03 +0000)
_both_ halves of the character set, rather than flipping the two
halves. My source for this is linux/drivers/char/console.c.

[originally from svn r2394]

terminal.c

index 3fcff47f29874b71f1563b7ca46000607323bcf8..749b1203ce0784c0df1467dfdeaa3f89aa183bbb 100644 (file)
@@ -1274,7 +1274,7 @@ void term_out(Terminal *term)
            else if(term->sco_acs && 
                    (c!='\033' && c!='\012' && c!='\015' && c!='\b'))
            {
-              if (term->sco_acs == 2) c ^= 0x80;
+              if (term->sco_acs == 2) c |= 0x80;
               c |= ATTR_SCOACS;
            } else {
                switch (term->cset_attr[term->cset]) {
@@ -2103,7 +2103,7 @@ void term_out(Terminal *term)
                                    compatibility(SCOANSI);
                                    if (term->cfg->no_remote_charset) break;
                                    term->sco_acs = 1; break;
-                                 case 12:      /* SCO acs on flipped */
+                                 case 12:      /* SCO acs on, |0x80 */
                                    compatibility(SCOANSI);
                                    if (term->cfg->no_remote_charset) break;
                                    term->sco_acs = 2; break;