This other patch fixes when an objective is cut in the middle of a UTF-8
character, in the hub.
diff -uN blobwars-1.05.orig/src/hub.cpp blobwars-1.05/src/hub.cpp
--- blobwars-1.05.orig/src/hub.cpp	2007-03-16 17:32:08.000000000 +0100
+++ blobwars-1.05/src/hub.cpp	2007-03-19 16:39:34.000000000 +0100
@@ -283,10 +283,17 @@
 					
 					if (strlen(string) >= 25)
 					{
-						string[25] = '.';
-						string[26] = '.';
-						string[27] = '.';
-						string[28] = '\0';
+						int cut_char = 25;
+						// don't break unicode characters
+						while (((string[cut_char] >> 6) & 3) == 2)
+						{
+							cut_char--;
+						}
+
+						string[cut_char++] = '.';
+						string[cut_char++] = '.';
+						string[cut_char++] = '.';
+						string[cut_char] = '\0';
 					}
 					
 					graphics.drawString(string, x1, y += 20, false, image);

Reply via email to