r9532 MarkieB - /branches/MarkieB/windows/windows/gui.c
netsurf at semichrome.net
netsurf at semichrome.net
Tue Sep 1 13:15:27 BST 2009
Author: MarkieB
Date: Tue Sep 1 07:15:27 2009
New Revision: 9532
URL: http://source.netsurf-browser.org?rev=9532&view=rev
Log:
optimize code
Modified:
branches/MarkieB/windows/windows/gui.c
Modified: branches/MarkieB/windows/windows/gui.c
URL: http://source.netsurf-browser.org/branches/MarkieB/windows/windows/gui.c?rev=9532&r1=9531&r2=9532&view=diff
==============================================================================
--- branches/MarkieB/windows/windows/gui.c (original)
+++ branches/MarkieB/windows/windows/gui.c Tue Sep 1 07:15:27 2009
@@ -2298,28 +2298,25 @@
bool gui_add_to_clipboard(const char *text, size_t length, bool space)
{
-/* return true;
-*/
HANDLE hnew;
- char *new;
+ char *new, *original;
HANDLE h = GetClipboardData(CF_TEXT);
+ if (h == NULL)
+ original = (char *)"";
+ else
+ original = GlobalLock(h);
+
+ size_t len = strlen(original) + 1;
+ hnew = GlobalAlloc(GHND, length + len);
+ new = (char *)GlobalLock(hnew);
+ snprintf(new, length + len, "%s%s", original, text);
+
if (h != NULL) {
- char *original = GlobalLock(h);
- size_t len = strlen(original) + 1;
- hnew = GlobalAlloc(GHND, length + len);
- new = (char *)GlobalLock(hnew);
- snprintf(new, length + len, "%s%s", original, text);
GlobalUnlock(h);
- GlobalUnlock(hnew);
EmptyClipboard();
- SetClipboardData(CF_TEXT, hnew);
- } else {
- hnew = GlobalAlloc(GHND, length + 1);
- new = (char *)GlobalLock(hnew);
- snprintf(new, length + 1, "%s", text);
- GlobalUnlock(hnew);
- SetClipboardData(CF_TEXT, (HANDLE)hnew);
- }
+ }
+ GlobalUnlock(hnew);
+ SetClipboardData(CF_TEXT, hnew);
return true;
}
More information about the netsurf-commits
mailing list