make the "smart home" routines handle multibyte blank characters


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2250 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
diff --git a/src/winio.c b/src/winio.c
index 328fafc..f670e33 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -1803,9 +1803,27 @@
 #ifndef NANO_SMALL
     if (ISSET(SMART_HOME)) {
 	size_t statusbar_x_save = statusbar_x;
-	for (statusbar_x = 0; is_blank_char(answer[statusbar_x]) &&
-		statusbar_x < statusbar_xend; statusbar_x++)
-	    ;
+	char *blank_mb = charalloc(mb_cur_max());
+	int blank_mb_len;
+
+	statusbar_x = 0;
+
+	while (statusbar_x < statusbar_xend) {
+	    blank_mb_len = parse_mbchar(answer + statusbar_x,
+		blank_mb
+#ifdef NANO_WIDE
+		, NULL
+#endif
+		, NULL);
+
+	    if (!is_blank_mbchar(blank_mb))
+		break;
+
+	    statusbar_x += blank_mb_len;
+	}
+
+	free(blank_mb);
+
 	if (statusbar_x == statusbar_x_save ||
 		statusbar_x == statusbar_xend)
 	    statusbar_x = 0;