From: Ben Harris Date: Fri, 9 Nov 2018 18:55:22 +0000 (+0000) Subject: Factor out code to raise and lower output line from pulse(). X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=e40c402d954ca1ab698230e0a07138ccfb20343d;p=clunk.git Factor out code to raise and lower output line from pulse(). The timing code in pulse is slightly twiddly and will probably be the same for all output implementations. --- diff --git a/clunk.c b/clunk.c index 669c8b8..f358249 100644 --- a/clunk.c +++ b/clunk.c @@ -18,15 +18,28 @@ static int const maxadvance = (10 * 3600) + (50 * 60); static struct tm displayed; +static void +dummy_out(bool state) +{ + + /* Dummy implementation */ + if (state) { + printf("ker..."); + fflush(stdout); + } else { + printf("chunk!\n"); + fflush(stdout); + } +} + static void pulse() { struct timespec const ts = { 0, pulsewidth }; - /* Dummy implementation */ - printf("ker..."); - fflush(stdout); + + dummy_out(true); clock_nanosleep(CLOCK_MONOTONIC, 0, &ts, NULL); - printf("chunk!"); + dummy_out(false); displayed.tm_sec += 30; while (displayed.tm_sec >= 60) { displayed.tm_min++;