--- a/ubi-utils/ubiformat.c 2012-05-03 01:14:39.000000000 +0200 +++ b/ubi-utils/ubiformat.c 2012-05-03 01:00:57.000000000 +0200 @@ -246,7 +246,11 @@ while (1) { normsg_cont("continue? (yes/no) "); - if (scanf("%3s", buf) == EOF) { + + fflush(stderr); + fflush(stdout); + + if (fgets(buf,4,stdin) == NULL) { sys_errmsg("scanf returned unexpected EOF, assume \"yes\""); return 1; } @@ -259,10 +263,13 @@ static int answer_is_yes(void) { + fflush(stderr); + fflush(stdout); + char buf[4]; while (1) { - if (scanf("%3s", buf) == EOF) { + if (fgets(buf,4,stdin) == NULL) { sys_errmsg("scanf returned unexpected EOF, assume \"no\""); return 0; }