SMOLNET PORTAL home about changes
iStat each file and mmap(3) only as much as is really needed - 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 7f4f52730310c65d30761a75ded86e2d82863298	/scm/catpoint/commit/7f4f52730310c65d30761a75ded86e2d82863298.gph	bitreich.org	70
1parent 78504360bf7518b5f7caadcf34ecb22187bdeeb8	/scm/catpoint/commit/78504360bf7518b5f7caadcf34ecb22187bdeeb8.gph	bitreich.org	70
hAuthor: Ekkie <ekkie@envs.net>	URL:mailto:ekkie@envs.net	bitreich.org	70
iDate:   Mon,  4 May 2020 12:51:49 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
iStat each file and mmap(3) only as much as is really needed	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                          |       6 +++++-	Err	bitreich.org	70
i	Err	bitreich.org	70
i1 file changed, 5 insertions(+), 1 deletion(-)	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@@ -1,6 +1,7 @@	Err	bitreich.org	70
i /* $Id: catpoint.c,v 1.2 2013/03/28 12:00:48 lostd Exp $ */	Err	bitreich.org	70
i 	Err	bitreich.org	70
i #include <sys/types.h>	Err	bitreich.org	70
i+#include <sys/stat.h>	Err	bitreich.org	70
i #include <sys/mman.h>	Err	bitreich.org	70
i 	Err	bitreich.org	70
i #include <err.h>	Err	bitreich.org	70
i@@ -42,6 +43,7 @@ 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 	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@@ -59,7 +61,9 @@ main(int argc, char *argv[])	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-                p[i] = mmap(NULL, 0x1000, PROT_READ, MAP_PRIVATE, fd, 0);	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
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/catpoint/commit/7f4f52730310c...
Content-Typetext/plain; charset=utf-8