]> git.pond.sub.org Git - empserver/commitdiff
(output,screen): In ASCII mode, remove standout bit if the client
authorRon Koenderink <rkoenderink@yahoo.ca>
Sun, 29 May 2005 16:22:14 +0000 (16:22 +0000)
committerRon Koenderink <rkoenderink@yahoo.ca>
Sun, 29 May 2005 16:22:14 +0000 (16:22 +0000)
does not support standout mode.
In UTF8 mode, remove SO/SI characters if the client does not support
standout mode.

src/client/servcmd.c

index 3a2a3abc49e7601618f0f937184dbb47d8aad7db..1d420a294c18392708ab9a05a81e1becb921cbd5 100644 (file)
@@ -326,10 +326,7 @@ output(int code, char *buf, FILE *auxfi)
     else if (pipe_fp)
        fprintf(pipe_fp, "%s\n", buf);
     else {
-       if (SO && SE)
-           screen(buf);
-       else
-           fputs(buf, stdout);
+       screen(buf);
        if (code == C_FLUSH)
            (void)fflush(stdout);
        else
@@ -344,13 +341,21 @@ screen(char *buf)
 
     while ((c = *buf++)) {
        if (eight_bit_clean) {
-           if (c == 14) fputs(SO, stdout);
-           else if (c == 15) fputs(SE, stdout);
+           if (c == 14) {
+               if (SO)
+                   fputs(SO, stdout);
+           }
+           else if (c == 15) {
+               if (SE)
+                   fputs(SE, stdout);
+           }
            else putchar(c);
        } else if (c & 0x80) {
-           fputs(SO, stdout);
+           if (SO)
+               fputs(SO, stdout);
            putchar(c & 0x7f);
-           fputs(SE, stdout);
+           if (SE)
+               fputs(SE, stdout);
        } else
            putchar(c);
     }