SMOLNET PORTAL home about changes
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
Original URLgopher://bitreich.org/0/scm/catpoint/commit/9d56979dedbc9...
Content-Typetext/plain; charset=utf-8