Fix copying of WB Chat Window contents
authorH.G. Muller <h.g.muller@hccnet.nl>
Wed, 10 Feb 2010 09:58:29 +0000 (10:58 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Fri, 19 Feb 2010 21:35:58 +0000 (22:35 +0100)
All line breks were lost on copy-pasting the contents of a chat window.
Adding CR to each outputted line in the front-end (wchat.c) solves this.
(Tell messages sent to a handle (which are not echoed by the ICS, and
thus have to copied to the chat box directly) also need CR!)

winboard/wchat.c

index eb5179f..b02e00e 100644 (file)
@@ -208,7 +208,7 @@ LRESULT CALLBACK ChatProc( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam
                sprintf(buf, "whisper %s\n", mess); // WHISPER box uses "whisper" to send\r
            else {\r
                if(!atoi(chatPartner[partner])) {\r
-                   sprintf(buf, "> %s\n", mess); // echo only tells to handle, not channel\r
+                   sprintf(buf, "> %s\r\n", mess); // echo only tells to handle, not channel\r
                InsertIntoMemo(hDlg, buf);\r
                sprintf(buf, "xtell %s %s\n", chatPartner[partner], mess);\r
                } else\r
@@ -287,5 +287,7 @@ void OutputChatMessage(int partner, char *text)
 {\r
        if(!chatHandle[partner]) return;\r
 \r
+       int n = strlen(text);\r
+       text[n+1] = 0; text[n] = '\n'; text[n-1] = '\r'; // Needs CR to not lose line breaks on copy-paste\r
        InsertIntoMemo(chatHandle[partner], text);\r
 }\r