wineconsole[3/6]: remove spaces from the ends of lines while copying
to the clipboard
Mikołaj Zalewski
mikolaj at zalewski.pl
Wed Oct 18 08:52:42 CDT 2006
This is very practical and matches the Windows behaviour
-------------- next part --------------
diff --git a/programs/wineconsole/user.c b/programs/wineconsole/user.c
index e1efda2..557ccfc 100644
--- a/programs/wineconsole/user.c
+++ b/programs/wineconsole/user.c
@@ -689,8 +689,15 @@ static void WCUSER_CopySelectionToClipbo
for (y = 0; y < h; y++, c.Y++)
{
- ReadConsoleOutputCharacter(data->hConOut, &p[y * w], w - 1, c, NULL);
- p[y * w + w - 1] = (y < h - 1) ? '\n' : '\0';
+ LPWSTR end;
+ ReadConsoleOutputCharacter(data->hConOut, p, w - 1, c, NULL);
+
+ /* strip spaces from the end of the line */
+ end = p + w - 1;
+ while (end > p && *(end - 1) == ' ')
+ end--;
+ *end = (y < h - 1) ? '\n' : '\0';
+ p = end + 1;
}
GlobalUnlock(hMem);
SetClipboardData(CF_UNICODETEXT, hMem);
--
1.4.2.3
More information about the wine-patches
mailing list