From 2cfd5cc3f2a9615943b798b782b8287b2b1fd3ea Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Sun, 13 Oct 2019 21:09:47 -0400 Subject: screen_draw(): Rename to screen_main() --- diff --git a/src/main.c b/src/main.c index a3118db..49d7e6a 100644 --- a/src/main.c +++ b/src/main.c @@ -56,6 +56,7 @@ main(int argc, char **argv) { struct speech *speech; struct screen *screen; + int ret; set_program_name(argv[0]); @@ -67,11 +68,14 @@ main(int argc, char **argv) screen = screen_new(); - screen_draw(screen); - speech_play_time(speech); + if (screen_main(screen, speech)) { + ret = EXIT_SUCCESS; + } else { + ret = EXIT_FAILURE; + } screen_destroy(&screen); speech_destroy(&speech); - return EXIT_SUCCESS; + return ret; } diff --git a/src/screen.c b/src/screen.c index f705701..762b0bb 100644 --- a/src/screen.c +++ b/src/screen.c @@ -23,9 +23,11 @@ #include #include +#include #include #include "clock.h" +#include "speech.h" struct screen { WINDOW *win; @@ -43,7 +45,7 @@ screen_new(void) } screen->win = initscr(); /* On failure, does not return. */ - if (noecho() == ERR || raw() == ERR) { + if (noecho() == ERR || raw() == ERR || nodelay(screen->win, TRUE)) { free(screen); return NULL; } @@ -58,14 +60,19 @@ screen_new(void) return screen; } -void -screen_draw(struct screen *screen) +bool +screen_main(struct screen *screen, struct speech *speech) { assert(screen); + assert(speech); clock_draw(screen->clock); refresh(); + + speech_play_time(speech); + + return true; } struct screen * diff --git a/src/screen.h b/src/screen.h index 6eaf430..8d16428 100644 --- a/src/screen.h +++ b/src/screen.h @@ -22,13 +22,17 @@ #ifndef SCREEN_H_ #define SCREEN_H_ +#include + +#include "speech.h" + struct screen; struct screen * screen_new(void); -void -screen_draw(struct screen *screen); +bool +screen_main(struct screen *screen, struct speech *speech); struct screen * screen_destroy(struct screen **screen_p); -- cgit v0.9.1