iadd a quit function and separate it as a signal handler - catpoint - Catpoint simple presenting software. Err bitreich.org 70
hgit clone git://bitreich.org/catpoint/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/catpoint/ URL:git://bitreich.org/catpoint/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/catpoint/ bitreich.org 70
1Log /scm/catpoint/log.gph bitreich.org 70
1Files /scm/catpoint/files.gph bitreich.org 70
1Refs /scm/catpoint/refs.gph bitreich.org 70
1Tags /scm/catpoint/tag bitreich.org 70
1README /scm/catpoint/file/README.md.gph bitreich.org 70
1LICENSE /scm/catpoint/file/LICENSE.gph bitreich.org 70
i--- Err bitreich.org 70
1commit c21defed8f5b1cdcf8f1360ab81eb28725815489 /scm/catpoint/commit/c21defed8f5b1cdcf8f1360ab81eb28725815489.gph bitreich.org 70
1parent f1929385f7c4fc8d193479a376c5ea0ee6fee8b7 /scm/catpoint/commit/f1929385f7c4fc8d193479a376c5ea0ee6fee8b7.gph bitreich.org 70
hAuthor: Hiltjo Posthuma <hiltjo@codemadness.org> URL:mailto:hiltjo@codemadness.org bitreich.org 70
iDate: Sat, 29 May 2021 17:54:38 +0200 Err bitreich.org 70
i Err bitreich.org 70
iadd a quit function and separate it as a signal handler Err bitreich.org 70
i Err bitreich.org 70
i* This will be useful for a follow-up commit too. Err bitreich.org 70
i* Remove the unnecesary exitstatus variable. Err bitreich.org 70
i Err bitreich.org 70
iSigned-off-by: Christoph Lohmann <20h@r-36.net> Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M catpoint.c | 18 +++++++++++------- Err bitreich.org 70
i Err bitreich.org 70
i1 file changed, 11 insertions(+), 7 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/catpoint.c b/catpoint.c /scm/catpoint/file/catpoint.c.gph bitreich.org 70
i@@ -15,7 +15,7 @@ Err bitreich.org 70
i #include <unistd.h> Err bitreich.org 70
i Err bitreich.org 70
i char *currentslidep, **slidefiles; /* the slides */ Err bitreich.org 70
i-int nslides, currentslide, currentslidelen, exitstatus = 1; Err bitreich.org 70
i+int nslides, currentslide, currentslidelen; Err bitreich.org 70
i Err bitreich.org 70
i volatile sig_atomic_t slidechanged = 1; Err bitreich.org 70
i Err bitreich.org 70
i@@ -30,12 +30,18 @@ unloadcurrentslide(void) Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i void Err bitreich.org 70
i-cleanup(int sig) Err bitreich.org 70
i+cleanup(void) Err bitreich.org 70
i { Err bitreich.org 70
i unloadcurrentslide(); Err bitreich.org 70
i Err bitreich.org 70
i endwin(); /* restore terminal */ Err bitreich.org 70
i- exit(exitstatus); Err bitreich.org 70
i+} Err bitreich.org 70
i+ Err bitreich.org 70
i+void Err bitreich.org 70
i+quit(int sig) Err bitreich.org 70
i+{ Err bitreich.org 70
i+ cleanup(); Err bitreich.org 70
i+ exit(0); Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i void Err bitreich.org 70
i@@ -82,7 +88,7 @@ setsignal() Err bitreich.org 70
i sigemptyset(&sa.sa_mask); Err bitreich.org 70
i sa.sa_flags = 0; Err bitreich.org 70
i Err bitreich.org 70
i- sa.sa_handler = cleanup; Err bitreich.org 70
i+ sa.sa_handler = quit; Err bitreich.org 70
i sigaction(SIGINT, &sa, NULL); Err bitreich.org 70
i sigaction(SIGQUIT, &sa, NULL); Err bitreich.org 70
i sigaction(SIGTERM, &sa, NULL); Err bitreich.org 70
i@@ -190,9 +196,7 @@ again: Err bitreich.org 70
i goto again; Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i- /* unmap mem */ Err bitreich.org 70
i- exitstatus = 0; Err bitreich.org 70
i- cleanup(0); Err bitreich.org 70
i+ cleanup(); Err bitreich.org 70
i Err bitreich.org 70
i return 0; Err bitreich.org 70
i } Err bitreich.org 70
.
Response:
text/plain