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