sprintf (prompt, "> ");
remaining = 1;
}
- do {
+ while (1) {
if (time_limit_seconds) {
- minutes = remaining / 60;
- seconds = remaining % 60;
- sprintf (prompt, "%02d:%02d ", minutes, seconds);
+ if (remaining > 0) {
+ minutes = remaining / 60;
+ seconds = remaining % 60;
+ sprintf (prompt, "%02d:%02d ", minutes, seconds);
+ } else {
+ printf ("Time's up.\a\n");
+ sprintf (prompt, "> ");
+ time_limit_seconds = 0;
+ }
}
response = readline (prompt);
if (response == NULL)
remaining = floor (0.5 + (tv_stop.tv_sec - tv.tv_sec) + (tv_stop.tv_usec - tv.tv_usec) / 1000000.0);
minutes = remaining / 60;
}
- } while (remaining > 0);
+ }
printf ("\n%s\n", puzzle);