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 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 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 .