Cope gracefully when people type something, then hit ^C.
 -Erik
diff --git a/hush.c b/hush.c
index 5c129ce..372c957 100644
--- a/hush.c
+++ b/hush.c
@@ -891,6 +891,7 @@
 	the_command[0]=fgetc(i->file);
 	the_command[1]='\0';
 #endif
+	fflush(stdout);
 	i->p = the_command;
 }
 
@@ -908,7 +909,9 @@
 		/* need to double check i->file because we might be doing something
 		 * more complicated by now, like sourcing or substituting. */
 		if (i->__promptme && interactive && i->file == stdin) {
-			get_user_input(i);
+			while(! i->p || (interactive && strlen(i->p)==0) ) {
+				get_user_input(i);
+			}
 			i->promptmode=2;
 			i->__promptme = 0;
 			if (i->p && *i->p) {
diff --git a/shell/hush.c b/shell/hush.c
index 5c129ce..372c957 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -891,6 +891,7 @@
 	the_command[0]=fgetc(i->file);
 	the_command[1]='\0';
 #endif
+	fflush(stdout);
 	i->p = the_command;
 }
 
@@ -908,7 +909,9 @@
 		/* need to double check i->file because we might be doing something
 		 * more complicated by now, like sourcing or substituting. */
 		if (i->__promptme && interactive && i->file == stdin) {
-			get_user_input(i);
+			while(! i->p || (interactive && strlen(i->p)==0) ) {
+				get_user_input(i);
+			}
 			i->promptmode=2;
 			i->__promptme = 0;
 			if (i->p && *i->p) {