iAdd reload function to 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 9d56979dedbc9a3b279291ad07ab4ce277e8f5e7 /scm/catpoint/commit/9d56979dedbc9a3b279291ad07ab4ce277e8f5e7.gph bitreich.org 70
1parent fbd1f47fc5dc657c0bac33ac3d6f7c89495f4df9 /scm/catpoint/commit/fbd1f47fc5dc657c0bac33ac3d6f7c89495f4df9.gph bitreich.org 70
hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70
iDate: Sun, 20 Dec 2020 11:44:12 +0100 Err bitreich.org 70
i Err bitreich.org 70
iAdd reload function to catpoint. Err bitreich.org 70
i Err bitreich.org 70
iThanks to Karchnu <karchnu@karchnu.fr> for the initial patch! Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M catpoint.c | 42 +++++++++++++++++++++---------- Err bitreich.org 70
i Err bitreich.org 70
i1 file changed, 29 insertions(+), 13 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@@ -20,6 +20,7 @@ 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+ 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@@ -28,6 +29,26 @@ cleanup(int s) Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i void Err bitreich.org 70
i+reload(char **argv, int i) Err bitreich.org 70
i+{ Err bitreich.org 70
i+ struct stat statbuf; Err bitreich.org 70
i+ int fd; Err bitreich.org 70
i+ Err bitreich.org 70
i+ if (p[i] != NULL) Err bitreich.org 70
i+ munmap(p[i], 0x1000); Err bitreich.org 70
i+ Err bitreich.org 70
i+ fd = open(argv[i], O_RDONLY, 0); Err bitreich.org 70
i+ if (fd < 0) Err bitreich.org 70
i+ err(1, "open: %s", argv[i]); Err bitreich.org 70
i+ if (fstat(fd, &statbuf) < 0) Err bitreich.org 70
i+ err(1, "fstat: %s", argv[i]); Err bitreich.org 70
i+ p[i] = mmap(NULL, statbuf.st_size, PROT_READ, MAP_PRIVATE, fd, 0); Err bitreich.org 70
i+ if (p[i] == MAP_FAILED) Err bitreich.org 70
i+ err(1, "mmap"); Err bitreich.org 70
i+ close(fd); 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@@ -42,8 +63,7 @@ setsignal() 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- struct stat statbuf; Err bitreich.org 70
i+ int c, i; 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@@ -57,17 +77,8 @@ main(int argc, char *argv[]) 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- fd = open(argv[i], O_RDONLY, 0); Err bitreich.org 70
i- if (fd == -1) Err bitreich.org 70
i- err(1, "open: %s", argv[i]); Err bitreich.org 70
i- if (fstat(fd, &statbuf) < 0) Err bitreich.org 70
i- err(1, "fstat: %s", argv[i]); Err bitreich.org 70
i- p[i] = mmap(NULL, statbuf.st_size, PROT_READ, MAP_PRIVATE, fd, 0); Err bitreich.org 70
i- if (p[i] == MAP_FAILED) Err bitreich.org 70
i- err(1, "mmap"); Err bitreich.org 70
i- close(fd); Err bitreich.org 70
i- } Err bitreich.org 70
i+ for (i = 0; argv[i] != NULL; i++) Err bitreich.org 70
i+ reload(argv, i); Err bitreich.org 70
i Err bitreich.org 70
i /* init curses */ Err bitreich.org 70
i initscr(); Err bitreich.org 70
i@@ -83,6 +94,7 @@ main(int argc, char *argv[]) Err bitreich.org 70
i show: Err bitreich.org 70
i /* display slide */ Err bitreich.org 70
i clear(); Err bitreich.org 70
i+ refresh(); Err bitreich.org 70
i printw("%s", p[i]); Err bitreich.org 70
i again: Err bitreich.org 70
i c = getch(); Err bitreich.org 70
i@@ -128,6 +140,10 @@ again: Err bitreich.org 70
i case KEY_END: Err bitreich.org 70
i i = argc - 1; Err bitreich.org 70
i goto show; Err bitreich.org 70
i+ /* reload */ Err bitreich.org 70
i+ case 'r': Err bitreich.org 70
i+ reload(argv, i); Err bitreich.org 70
i+ goto show; Err bitreich.org 70
i default: Err bitreich.org 70
i /* printf("key pressed = '%d'\n", c); */ Err bitreich.org 70
i goto again; Err bitreich.org 70
.
Response:
text/plain