libbb/lineedit: restore ^D handling for unicode

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/libbb/lineedit.c b/libbb/lineedit.c
index 3689b4b..9b112bc 100644
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -114,8 +114,8 @@
 	unsigned cmdedit_prmt_len; /* length of prompt (without colors etc) */
 
 	unsigned cursor;
-	unsigned command_len;
-	/* *int* maxsize: we want x in "if (x > S.maxsize)"
+	int command_len; /* must be signed */
+	/* signed maxsize: we want x in "if (x > S.maxsize)"
 	 * to _not_ be promoted to unsigned */
 	int maxsize;
 	CHAR_T *command_ps;
@@ -2124,7 +2124,9 @@
 #undef command
 
 #if ENABLE_FEATURE_ASSUME_UNICODE
-	command_len = save_string(command, maxsize - 1);
+	command[0] = '\0';
+	if (command_len > 0)
+		command_len = save_string(command, maxsize - 1);
 	free(command_ps);
 #endif