iPut some funcs in utils.c - dedup - deduplicating backup program Err bitreich.org 70 hgit clone git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/ URL:git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/ bitreich.org 70 1Log /scm/dedup/log.gph bitreich.org 70 1Files /scm/dedup/files.gph bitreich.org 70 1Refs /scm/dedup/refs.gph bitreich.org 70 1Tags /scm/dedup/tag bitreich.org 70 1README /scm/dedup/file/README.gph bitreich.org 70 1LICENSE /scm/dedup/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 2785164f532c7f95d2468bef65ee309336e4bc93 /scm/dedup/commit/2785164f532c7f95d2468bef65ee309336e4bc93.gph bitreich.org 70 1parent f450209a3a8f19f21652cb32dd4ff1ce1efdd8fd /scm/dedup/commit/f450209a3a8f19f21652cb32dd4ff1ce1efdd8fd.gph bitreich.org 70 hAuthor: sin URL:mailto:sin@2f30.org bitreich.org 70 iDate: Thu, 21 Feb 2019 21:04:17 +0000 Err bitreich.org 70 i Err bitreich.org 70 iPut some funcs in utils.c Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M Makefile | 6 +++--- Err bitreich.org 70 i M dedup.c | 60 ------------------------------- Err bitreich.org 70 i M dedup.h | 6 ++++++ Err bitreich.org 70 i A utils.c | 67 +++++++++++++++++++++++++++++++ Err bitreich.org 70 i Err bitreich.org 70 i4 files changed, 76 insertions(+), 63 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/Makefile b/Makefile /scm/dedup/file/Makefile.gph bitreich.org 70 i@@ -2,8 +2,8 @@ VERSION = 0.3 Err bitreich.org 70 i PREFIX = /usr/local Err bitreich.org 70 i MANPREFIX = $(PREFIX)/man Err bitreich.org 70 i BIN = dedup Err bitreich.org 70 i-SRC = $(BIN).c chunker.c hash.c pack.c unpack.c Err bitreich.org 70 i-OBJ = $(BIN).o chunker.o hash.o pack.o unpack.o Err bitreich.org 70 i+SRC = $(BIN).c chunker.c hash.c pack.c unpack.c utils.c Err bitreich.org 70 i+OBJ = $(BIN).o chunker.o hash.o pack.o unpack.o utils.o Err bitreich.org 70 i DISTFILES = \ Err bitreich.org 70 i $(SRC) \ Err bitreich.org 70 i LICENSE \ Err bitreich.org 70 i@@ -13,7 +13,7 @@ DISTFILES = \ Err bitreich.org 70 i config.h \ Err bitreich.org 70 i $(BIN).1 \ Err bitreich.org 70 i dedup.h \ Err bitreich.org 70 i- tree.h Err bitreich.org 70 i+ tree.h \ Err bitreich.org 70 i Err bitreich.org 70 i CFLAGS = -g -Wall Err bitreich.org 70 i CPPFLAGS = -I/usr/local/include -D_FILE_OFFSET_BITS=64 Err bitreich.org 70 1diff --git a/dedup.c b/dedup.c /scm/dedup/file/dedup.c.gph bitreich.org 70 i@@ -143,66 +143,6 @@ print_stats(struct stats *st) Err bitreich.org 70 i fprintf(stderr, "cache misses: %llu\n", cache_misses); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i-void Err bitreich.org 70 i-str2bin(char *s, uint8_t *d) Err bitreich.org 70 i-{ Err bitreich.org 70 i- size_t i, size = strlen(s) / 2; Err bitreich.org 70 i- Err bitreich.org 70 i- for (i = 0; i < size; i++, s += 2) Err bitreich.org 70 i- sscanf(s, "%2hhx", &d[i]); Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-off_t Err bitreich.org 70 i-xlseek(int fd, off_t offset, int whence) Err bitreich.org 70 i-{ Err bitreich.org 70 i- off_t ret; Err bitreich.org 70 i- Err bitreich.org 70 i- ret = lseek(fd, offset, whence); Err bitreich.org 70 i- if (ret < 0) Err bitreich.org 70 i- err(1, "lseek"); Err bitreich.org 70 i- return ret; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-ssize_t Err bitreich.org 70 i-xread(int fd, void *buf, size_t nbytes) Err bitreich.org 70 i-{ Err bitreich.org 70 i- uint8_t *bp = buf; Err bitreich.org 70 i- ssize_t total = 0; Err bitreich.org 70 i- Err bitreich.org 70 i- while (nbytes > 0) { Err bitreich.org 70 i- ssize_t n; Err bitreich.org 70 i- Err bitreich.org 70 i- n = read(fd, &bp[total], nbytes); Err bitreich.org 70 i- if (n < 0) Err bitreich.org 70 i- err(1, "read"); Err bitreich.org 70 i- else if (n == 0) Err bitreich.org 70 i- return total; Err bitreich.org 70 i- total += n; Err bitreich.org 70 i- nbytes -= n; Err bitreich.org 70 i- } Err bitreich.org 70 i- return total; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-ssize_t Err bitreich.org 70 i-xwrite(int fd, const void *buf, size_t nbytes) Err bitreich.org 70 i-{ Err bitreich.org 70 i- const uint8_t *bp = buf; Err bitreich.org 70 i- ssize_t total = 0; Err bitreich.org 70 i- Err bitreich.org 70 i- while (nbytes > 0) { Err bitreich.org 70 i- ssize_t n; Err bitreich.org 70 i- Err bitreich.org 70 i- n = write(fd, &bp[total], nbytes); Err bitreich.org 70 i- if (n < 0) Err bitreich.org 70 i- err(1, "write"); Err bitreich.org 70 i- else if (n == 0) Err bitreich.org 70 i- return total; Err bitreich.org 70 i- total += n; Err bitreich.org 70 i- nbytes -= n; Err bitreich.org 70 i- } Err bitreich.org 70 i- return total; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i int Err bitreich.org 70 i cache_entry_cmp(struct cache_entry *e1, struct cache_entry *e2) Err bitreich.org 70 i { Err bitreich.org 70 1diff --git a/dedup.h b/dedup.h /scm/dedup/file/dedup.h.gph bitreich.org 70 i@@ -18,3 +18,9 @@ int pack(unsigned char *dst, char *fmt, ...); Err bitreich.org 70 i Err bitreich.org 70 i /* unpack.c */ Err bitreich.org 70 i int unpack(unsigned char *src, char *fmt, ...); Err bitreich.org 70 i+ Err bitreich.org 70 i+/* utils.c */ Err bitreich.org 70 i+void str2bin(char *s, uint8_t *d); Err bitreich.org 70 i+off_t xlseek(int fd, off_t offset, int whence); Err bitreich.org 70 i+ssize_t xread(int fd, void *buf, size_t nbytes); Err bitreich.org 70 i+ssize_t xwrite(int fd, const void *buf, size_t nbytes); Err bitreich.org 70 1diff --git a/utils.c b/utils.c /scm/dedup/file/utils.c.gph bitreich.org 70 i@@ -0,0 +1,67 @@ Err bitreich.org 70 i+#include Err bitreich.org 70 i+ Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+ Err bitreich.org 70 i+void Err bitreich.org 70 i+str2bin(char *s, uint8_t *d) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ size_t i, size = strlen(s) / 2; Err bitreich.org 70 i+ Err bitreich.org 70 i+ for (i = 0; i < size; i++, s += 2) Err bitreich.org 70 i+ sscanf(s, "%2hhx", &d[i]); Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+off_t Err bitreich.org 70 i+xlseek(int fd, off_t offset, int whence) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ off_t ret; Err bitreich.org 70 i+ Err bitreich.org 70 i+ ret = lseek(fd, offset, whence); Err bitreich.org 70 i+ if (ret < 0) Err bitreich.org 70 i+ err(1, "lseek"); Err bitreich.org 70 i+ return ret; Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+ssize_t Err bitreich.org 70 i+xread(int fd, void *buf, size_t nbytes) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ uint8_t *bp = buf; Err bitreich.org 70 i+ ssize_t total = 0; Err bitreich.org 70 i+ Err bitreich.org 70 i+ while (nbytes > 0) { Err bitreich.org 70 i+ ssize_t n; Err bitreich.org 70 i+ Err bitreich.org 70 i+ n = read(fd, &bp[total], nbytes); Err bitreich.org 70 i+ if (n < 0) Err bitreich.org 70 i+ err(1, "read"); Err bitreich.org 70 i+ else if (n == 0) Err bitreich.org 70 i+ return total; Err bitreich.org 70 i+ total += n; Err bitreich.org 70 i+ nbytes -= n; Err bitreich.org 70 i+ } Err bitreich.org 70 i+ return total; Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+ssize_t Err bitreich.org 70 i+xwrite(int fd, const void *buf, size_t nbytes) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ const uint8_t *bp = buf; Err bitreich.org 70 i+ ssize_t total = 0; Err bitreich.org 70 i+ Err bitreich.org 70 i+ while (nbytes > 0) { Err bitreich.org 70 i+ ssize_t n; Err bitreich.org 70 i+ Err bitreich.org 70 i+ n = write(fd, &bp[total], nbytes); Err bitreich.org 70 i+ if (n < 0) Err bitreich.org 70 i+ err(1, "write"); Err bitreich.org 70 i+ else if (n == 0) Err bitreich.org 70 i+ return total; Err bitreich.org 70 i+ total += n; Err bitreich.org 70 i+ nbytes -= n; Err bitreich.org 70 i+ } Err bitreich.org 70 i+ return total; Err bitreich.org 70 i+} Err bitreich.org 70 .