ipatch signal handlers for catpoint - 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 62d8733dfbae0ee35a6d71a77409e8bc33f2b8f8 /scm/catpoint/commit/62d8733dfbae0ee35a6d71a77409e8bc33f2b8f8.gph bitreich.org 70
1parent 05fee79d9bfcc4029064723a9739dbeedf8fb788 /scm/catpoint/commit/05fee79d9bfcc4029064723a9739dbeedf8fb788.gph bitreich.org 70
hAuthor: KatolaZ <katolaz@freaknet.org> URL:mailto:katolaz@freaknet.org bitreich.org 70
iDate: Sun, 8 Jul 2018 14:54:37 +0200 Err bitreich.org 70
i Err bitreich.org 70
ipatch signal handlers for catpoint Err bitreich.org 70
i Err bitreich.org 70
iAs subject says. Avoid to garble the terminal on an exit due to Err bitreich.org 70
isignal. Quite straightforward ;) Err bitreich.org 70
i Err bitreich.org 70
iHND Err bitreich.org 70
i Err bitreich.org 70
iKatolaZ Err bitreich.org 70
i Err bitreich.org 70
i-- Err bitreich.org 70
i[ ~.,_ Enzo Nicosia aka KatolaZ - Devuan -- Freaknet Medialab ] Err bitreich.org 70
i[ "+. katolaz [at] freaknet.org --- katolaz [at] yahoo.it ] Err bitreich.org 70
i[ @) http://kalos.mine.nu --- Devuan GNU + Linux User ] Err bitreich.org 70
i[ @@) http://maths.qmul.ac.uk/~vnicosia -- GPG: 0B5F062F ] Err bitreich.org 70
i[ (@@@) Twitter: @KatolaZ - skype: katolaz -- github: KatolaZ ] 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 | 37 ++++++++++++++++++++++++++----- Err bitreich.org 70
i Err bitreich.org 70
i1 file changed, 32 insertions(+), 5 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@@ -10,21 +10,51 @@ Err bitreich.org 70
i #include <stdlib.h> Err bitreich.org 70
i #include <unistd.h> Err bitreich.org 70
i #include <locale.h> Err bitreich.org 70
i+#include <signal.h> Err bitreich.org 70
i+ Err bitreich.org 70
i+char **p; /* the slides */ Err bitreich.org 70
i+int n; /* the number of slides */ Err bitreich.org 70
i+ Err bitreich.org 70
i+void Err bitreich.org 70
i+cleanup(int s) Err bitreich.org 70
i+{ Err bitreich.org 70
i+ int i; Err bitreich.org 70
i+ for (i = 0; i<n; i++) Err bitreich.org 70
i+ munmap(p[i], 0x1000); Err bitreich.org 70
i+ Err bitreich.org 70
i+ endwin(); /* restore terminal */ Err bitreich.org 70
i+ exit(1); Err bitreich.org 70
i+} Err bitreich.org 70
i+ Err bitreich.org 70
i+ Err bitreich.org 70
i+void Err bitreich.org 70
i+setsignal() Err bitreich.org 70
i+{ Err bitreich.org 70
i+ signal(SIGHUP, cleanup); Err bitreich.org 70
i+ signal(SIGINT, cleanup); Err bitreich.org 70
i+ signal(SIGINT, cleanup); Err bitreich.org 70
i+ signal(SIGQUIT, cleanup); Err bitreich.org 70
i+ signal(SIGABRT, cleanup); Err bitreich.org 70
i+ signal(SIGKILL, cleanup); Err bitreich.org 70
i+ signal(SIGTERM, cleanup); Err bitreich.org 70
i+} Err bitreich.org 70
i+ Err bitreich.org 70
i Err bitreich.org 70
i int Err bitreich.org 70
i main(int argc, char *argv[]) Err bitreich.org 70
i { Err bitreich.org 70
i int c, i, fd; Err bitreich.org 70
i- char **p; /* the slides */ Err bitreich.org 70
i Err bitreich.org 70
i if (argc == 1) Err bitreich.org 70
i errx(1, "usage: %s file ...", argv[0]); Err bitreich.org 70
i argv++; Err bitreich.org 70
i argc--; Err bitreich.org 70
i Err bitreich.org 70
i+ setsignal(); Err bitreich.org 70
i setlocale(LC_ALL, ""); Err bitreich.org 70
i Err bitreich.org 70
i p = calloc(argc, sizeof(char *)); Err bitreich.org 70
i+ n = argc; Err bitreich.org 70
i Err bitreich.org 70
i /* map files to mem */ Err bitreich.org 70
i for (i = 0; argv[i] != NULL; i++) { Err bitreich.org 70
i@@ -102,10 +132,7 @@ again: Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i /* unmap mem */ Err bitreich.org 70
i- for (i = 0; argv[i] != NULL; i++) Err bitreich.org 70
i- munmap(p[i], 0x1000); Err bitreich.org 70
i- Err bitreich.org 70
i- endwin(); /* restore terminal */ Err bitreich.org 70
i+ cleanup(0); Err bitreich.org 70
i Err bitreich.org 70
i return (0); Err bitreich.org 70
i } Err bitreich.org 70
.
Response:
text/plain