for (i=0; i < 17; i++)
possible_total += possible[i];
- printf ("%s\n", puzzle);
+ printf ("%s\n\n", puzzle);
just_saw_puzzle = TRUE;
remaining = time_limit_seconds;
tv_stop.tv_sec += time_limit_seconds;
} else {
sprintf (prompt, "> ");
+ remaining = 1;
}
do {
if (time_limit_seconds) {
sprintf (prompt, "%02d:%02d ", minutes, seconds);
}
response = readline (prompt);
- add_history (response);
+ if (response == NULL)
+ break;
if (strlen (response) == 0) {
if (! just_saw_puzzle) {
- printf ("%s\n", puzzle);
+ printf ("%s\n\n", puzzle);
just_saw_puzzle = TRUE;
} else {
for (i = 2; i <= 17; i++)
} else {
dict_entry_t *entry;
just_saw_puzzle = FALSE;
+ add_history (response);
if (response[strlen (response) - 1] == '\n')
response[strlen (response) - 1] = '\0';
entry = dict_lookup (answers, response);
}
} while (remaining > 0);
- printf ("%s\n", puzzle);
+ printf ("%s\n\n", puzzle);
printf ("Words you found:\n");
dict_print_by_length_if (answers, seen_predicate);