SMOLNET PORTAL home about changes
iMove error functions to misc.c so they can be reused - 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 a8beae9784fa77d57a05f35c0980d7504aea2fde	/scm/dedup/commit/a8beae9784fa77d57a05f35c0980d7504aea2fde.gph	bitreich.org	70
1parent ffaf068f318e080bdf7cfaf1232836b92f779315	/scm/dedup/commit/ffaf068f318e080bdf7cfaf1232836b92f779315.gph	bitreich.org	70
hAuthor: sin <sin@2f30.org>	URL:mailto:sin@2f30.org	bitreich.org	70
iDate:   Sun, 12 May 2019 11:52:09 +0100	Err	bitreich.org	70
i	Err	bitreich.org	70
iMove error functions to misc.c so they can be reused	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M bcompress.c                         |      32 ++++++++++++++++----------------	Err	bitreich.org	70
i  M bencrypt.c                          |      32 ++++++++++++++++----------------	Err	bitreich.org	70
i  M block.c                             |      51 +++++++------------------------	Err	bitreich.org	70
i  M block.h                             |       4 ++--	Err	bitreich.org	70
i  M bstorage.c                          |      70 ++++++++++++++++----------------	Err	bitreich.org	70
i  M dup-check.c                         |      12 ++++++------	Err	bitreich.org	70
i  M dup-gc.c                            |       6 +++---	Err	bitreich.org	70
i  M dup-init.c                          |       4 ++--	Err	bitreich.org	70
i  M dup-pack.c                          |      12 ++++++------	Err	bitreich.org	70
i  M dup-rm.c                            |      12 ++++++------	Err	bitreich.org	70
i  M dup-unpack.c                        |      12 ++++++------	Err	bitreich.org	70
i  M misc.c                              |      31 +++++++++++++++++++++++++++++++	Err	bitreich.org	70
i  M misc.h                              |       2 ++	Err	bitreich.org	70
i  M snap.c                              |      76 ++++++++++---------------------	Err	bitreich.org	70
i  M snap.h                              |       4 ++--	Err	bitreich.org	70
i	Err	bitreich.org	70
i15 files changed, 167 insertions(+), 193 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/bcompress.c b/bcompress.c	/scm/dedup/file/bcompress.c.gph	bitreich.org	70
i@@ -106,13 +106,13 @@ bccreat(struct bctx *bctx, char *path, int mode)	Err	bitreich.org	70
i         } else if (strcasecmp(param.calgo, "lz4") == 0) {	Err	bitreich.org	70
i                 type = CDLZ4TYPE;	Err	bitreich.org	70
i         } else {	Err	bitreich.org	70
i-                bseterr("invalid compression type: %s", param.calgo);	Err	bitreich.org	70
i+                seterr("invalid compression type: %s", param.calgo);	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         bctx->cctx = calloc(1, sizeof(struct cctx));	Err	bitreich.org	70
i         if (bctx->cctx == NULL) {	Err	bitreich.org	70
i-                bseterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         cctx = bctx->cctx;	Err	bitreich.org	70
i@@ -132,7 +132,7 @@ bcopen(struct bctx *bctx, char *path, int flags, int mode)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         bctx->cctx = calloc(1, sizeof(struct cctx));	Err	bitreich.org	70
i         if (bctx->cctx == NULL) {	Err	bitreich.org	70
i-                bseterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         cctx = bctx->cctx;	Err	bitreich.org	70
i@@ -151,7 +151,7 @@ bcopen(struct bctx *bctx, char *path, int flags, int mode)	Err	bitreich.org	70
i         } else {	Err	bitreich.org	70
i                 bencryptops()->close(bctx);	Err	bitreich.org	70
i                 free(cctx);	Err	bitreich.org	70
i-                bseterr("invalid compression type: %s", param.calgo);	Err	bitreich.org	70
i+                seterr("invalid compression type: %s", param.calgo);	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         return 0;	Err	bitreich.org	70
i@@ -174,13 +174,13 @@ bcput(struct bctx *bctx, void *buf, size_t n, unsigned char *md)	Err	bitreich.org	70
i         } else if (cctx->type == CDLZ4TYPE) {	Err	bitreich.org	70
i                 cn = LZ4_compressBound(n);	Err	bitreich.org	70
i         } else {	Err	bitreich.org	70
i-                bseterr("invalid compression type: %d", cctx->type);	Err	bitreich.org	70
i+                seterr("invalid compression type: %d", cctx->type);	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         cbuf = malloc(CDSIZE + cn);	Err	bitreich.org	70
i         if (cbuf == NULL) {	Err	bitreich.org	70
i-                bseterr("malloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("malloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -190,7 +190,7 @@ bcput(struct bctx *bctx, void *buf, size_t n, unsigned char *md)	Err	bitreich.org	70
i         } else if (cctx->type == CDSNAPPYTYPE) {	Err	bitreich.org	70
i                 if (snappy_compress(buf, n, &cbuf[CDSIZE], &cn) != SNAPPY_OK) {	Err	bitreich.org	70
i                         free(cbuf);	Err	bitreich.org	70
i-                        bseterr("snappy_compress: failed");	Err	bitreich.org	70
i+                        seterr("snappy_compress: failed");	Err	bitreich.org	70
i                         return -1;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i         } else if (cctx->type == CDLZ4TYPE) {	Err	bitreich.org	70
i@@ -199,13 +199,13 @@ bcput(struct bctx *bctx, void *buf, size_t n, unsigned char *md)	Err	bitreich.org	70
i                 ret = LZ4_compress_default(buf, &cbuf[CDSIZE], n, cn);	Err	bitreich.org	70
i                 if (ret < 0) {	Err	bitreich.org	70
i                         free(cbuf);	Err	bitreich.org	70
i-                        bseterr("LZ4_compress_default: failed");	Err	bitreich.org	70
i+                        seterr("LZ4_compress_default: failed");	Err	bitreich.org	70
i                         return -1;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i                 cn = ret;	Err	bitreich.org	70
i         } else {	Err	bitreich.org	70
i                 free(cbuf);	Err	bitreich.org	70
i-                bseterr("invalid compression type: %d", cctx->type);	Err	bitreich.org	70
i+                seterr("invalid compression type: %d", cctx->type);	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -242,7 +242,7 @@ bcget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         cbuf = malloc(size);	Err	bitreich.org	70
i         if (cbuf == NULL) {	Err	bitreich.org	70
i-                bseterr("malloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("malloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -258,7 +258,7 @@ bcget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n)	Err	bitreich.org	70
i                 un = cd.size;	Err	bitreich.org	70
i                 if (*n < un) {	Err	bitreich.org	70
i                         free(cbuf);	Err	bitreich.org	70
i-                        bseterr("buffer too small");	Err	bitreich.org	70
i+                        seterr("buffer too small");	Err	bitreich.org	70
i                         return -1;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i                 memcpy(buf, &cbuf[CDSIZE], un);	Err	bitreich.org	70
i@@ -266,20 +266,20 @@ bcget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n)	Err	bitreich.org	70
i                 if (snappy_uncompressed_length(&cbuf[CDSIZE], cd.size,	Err	bitreich.org	70
i                                                &un) != SNAPPY_OK) {	Err	bitreich.org	70
i                         free(cbuf);	Err	bitreich.org	70
i-                        bseterr("snappy_uncompressed_length: failed");	Err	bitreich.org	70
i+                        seterr("snappy_uncompressed_length: failed");	Err	bitreich.org	70
i                         return -1;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i                 if (*n < un) {	Err	bitreich.org	70
i                         free(cbuf);	Err	bitreich.org	70
i-                        bseterr("buffer too small");	Err	bitreich.org	70
i+                        seterr("buffer too small");	Err	bitreich.org	70
i                         return -1;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i                 if (snappy_uncompress(&cbuf[CDSIZE], cd.size, buf,	Err	bitreich.org	70
i                                       &un) != SNAPPY_OK) {	Err	bitreich.org	70
i                         free(cbuf);	Err	bitreich.org	70
i-                        bseterr("snappy_uncompress: failed");	Err	bitreich.org	70
i+                        seterr("snappy_uncompress: failed");	Err	bitreich.org	70
i                         return -1;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i         } else if (cd.type == CDLZ4TYPE) {	Err	bitreich.org	70
i@@ -288,13 +288,13 @@ bcget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n)	Err	bitreich.org	70
i                 ret = LZ4_decompress_safe(&cbuf[CDSIZE], buf, cd.size, *n);	Err	bitreich.org	70
i                 if (ret < 0) {	Err	bitreich.org	70
i                         free(cbuf);	Err	bitreich.org	70
i-                        bseterr("LZ4_decompress_safe: failed");	Err	bitreich.org	70
i+                        seterr("LZ4_decompress_safe: failed");	Err	bitreich.org	70
i                         return -1;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i                 un = ret;	Err	bitreich.org	70
i         } else {	Err	bitreich.org	70
i                 free(cbuf);	Err	bitreich.org	70
i-                bseterr("invalid compression type: %d", cd.type);	Err	bitreich.org	70
i+                seterr("invalid compression type: %d", cd.type);	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
1diff --git a/bencrypt.c b/bencrypt.c	/scm/dedup/file/bencrypt.c.gph	bitreich.org	70
i@@ -107,24 +107,24 @@ becreat(struct bctx *bctx, char *path, int mode)	Err	bitreich.org	70
i         } else if (strcasecmp(param.ealgo, "XChaCha20-Poly1305") == 0) {	Err	bitreich.org	70
i                 type = EDCHACHATYPE;	Err	bitreich.org	70
i         } else {	Err	bitreich.org	70
i-                bseterr("invalid encryption type: %s", param.ealgo);	Err	bitreich.org	70
i+                seterr("invalid encryption type: %s", param.ealgo);	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         /* Ensure that if caller requested encryption, a key was provided */	Err	bitreich.org	70
i         if (type != EDNONETYPE && !param.keyloaded) {	Err	bitreich.org	70
i-                bseterr("expected encryption key");	Err	bitreich.org	70
i+                seterr("expected encryption key");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (sodium_init() < 0) {	Err	bitreich.org	70
i-                bseterr("sodium_init: failed");	Err	bitreich.org	70
i+                seterr("sodium_init: failed");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         bctx->ectx = calloc(1, sizeof(struct ectx));	Err	bitreich.org	70
i         if (bctx->ectx == NULL) {	Err	bitreich.org	70
i-                bseterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         ectx = bctx->ectx;	Err	bitreich.org	70
i@@ -145,7 +145,7 @@ beopen(struct bctx *bctx, char *path, int flags, int mode)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         bctx->ectx = calloc(1, sizeof(struct ectx));	Err	bitreich.org	70
i         if (bctx->ectx == NULL) {	Err	bitreich.org	70
i-                bseterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         ectx = bctx->ectx;	Err	bitreich.org	70
i@@ -164,7 +164,7 @@ beopen(struct bctx *bctx, char *path, int flags, int mode)	Err	bitreich.org	70
i         else {	Err	bitreich.org	70
i                 bstorageops()->close(bctx);	Err	bitreich.org	70
i                 free(ectx);	Err	bitreich.org	70
i-                bseterr("invalid encryption type: %s", param.ealgo);	Err	bitreich.org	70
i+                seterr("invalid encryption type: %s", param.ealgo);	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -172,7 +172,7 @@ beopen(struct bctx *bctx, char *path, int flags, int mode)	Err	bitreich.org	70
i         if (ectx->type != EDNONETYPE && !param.keyloaded) {	Err	bitreich.org	70
i                 bstorageops()->close(bctx);	Err	bitreich.org	70
i                 free(ectx);	Err	bitreich.org	70
i-                bseterr("expected encryption key");	Err	bitreich.org	70
i+                seterr("expected encryption key");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -194,13 +194,13 @@ beput(struct bctx *bctx, void *buf, size_t n, unsigned char *md)	Err	bitreich.org	70
i         } else if (ectx->type == EDCHACHATYPE) {	Err	bitreich.org	70
i                 en = n + crypto_aead_xchacha20poly1305_ietf_ABYTES;	Err	bitreich.org	70
i         } else {	Err	bitreich.org	70
i-                bseterr("invalid encryption type: %d", ectx->type);	Err	bitreich.org	70
i+                seterr("invalid encryption type: %d", ectx->type);	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         ebuf = malloc(EDSIZE + en);	Err	bitreich.org	70
i         if (ebuf == NULL) {	Err	bitreich.org	70
i-                bseterr("malloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("malloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -214,7 +214,7 @@ beput(struct bctx *bctx, void *buf, size_t n, unsigned char *md)	Err	bitreich.org	70
i                 randombytes_buf(ed.nonce, sizeof(ed.nonce));	Err	bitreich.org	70
i         } else {	Err	bitreich.org	70
i                 free(ebuf);	Err	bitreich.org	70
i-                bseterr("invalid encryption type: %d", ectx->type);	Err	bitreich.org	70
i+                seterr("invalid encryption type: %d", ectx->type);	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         packed(ebuf, &ed);	Err	bitreich.org	70
i@@ -231,7 +231,7 @@ beput(struct bctx *bctx, void *buf, size_t n, unsigned char *md)	Err	bitreich.org	70
i                 assert(elen == en);	Err	bitreich.org	70
i         } else {	Err	bitreich.org	70
i                 free(ebuf);	Err	bitreich.org	70
i-                bseterr("invalid encryption type: %d", ectx->type);	Err	bitreich.org	70
i+                seterr("invalid encryption type: %d", ectx->type);	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -256,7 +256,7 @@ beget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         ebuf = malloc(size);	Err	bitreich.org	70
i         if (ebuf == NULL) {	Err	bitreich.org	70
i-                bseterr("malloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("malloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -272,7 +272,7 @@ beget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n)	Err	bitreich.org	70
i                 dn = ed.size;	Err	bitreich.org	70
i                 if (*n < dn) {	Err	bitreich.org	70
i                         free(ebuf);	Err	bitreich.org	70
i-                        bseterr("buffer too small");	Err	bitreich.org	70
i+                        seterr("buffer too small");	Err	bitreich.org	70
i                         return -1;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i                 memcpy(buf, &ebuf[EDSIZE], dn);	Err	bitreich.org	70
i@@ -283,7 +283,7 @@ beget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n)	Err	bitreich.org	70
i                 dn = ed.size - crypto_aead_xchacha20poly1305_ietf_ABYTES;	Err	bitreich.org	70
i                 if (*n < dn) {	Err	bitreich.org	70
i                         free(ebuf);	Err	bitreich.org	70
i-                        bseterr("buffer too small");	Err	bitreich.org	70
i+                        seterr("buffer too small");	Err	bitreich.org	70
i                         return -1;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -294,14 +294,14 @@ beget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n)	Err	bitreich.org	70
i                                                                ebuf, EDSIZE,	Err	bitreich.org	70
i                                                                ed.nonce, ectx->key) < 0) {	Err	bitreich.org	70
i                         free(ebuf);	Err	bitreich.org	70
i-                        bseterr("authentication failed");	Err	bitreich.org	70
i+                        seterr("authentication failed");	Err	bitreich.org	70
i                         return -1;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i                 assert(dn == dlen);	Err	bitreich.org	70
i         } else {	Err	bitreich.org	70
i                 free(ebuf);	Err	bitreich.org	70
i-                bseterr("invalid encryption type: %d", ed.type);	Err	bitreich.org	70
i+                seterr("invalid encryption type: %d", ed.type);	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
1diff --git a/block.c b/block.c	/scm/dedup/file/block.c.gph	bitreich.org	70
i@@ -4,7 +4,6 @@	Err	bitreich.org	70
i 	Err	bitreich.org	70
i #include <errno.h>	Err	bitreich.org	70
i #include <fcntl.h>	Err	bitreich.org	70
i-#include <stdarg.h>	Err	bitreich.org	70
i #include <stdint.h>	Err	bitreich.org	70
i #include <stdio.h>	Err	bitreich.org	70
i #include <stdlib.h>	Err	bitreich.org	70
i@@ -12,22 +11,19 @@	Err	bitreich.org	70
i 	Err	bitreich.org	70
i #include "block.h"	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-#define NERRBUF        128	Err	bitreich.org	70
i-static char errbuf[NERRBUF];	Err	bitreich.org	70
i-	Err	bitreich.org	70
i int	Err	bitreich.org	70
i bcreat(char *path, int mode, struct bctx **bctx)	Err	bitreich.org	70
i {	Err	bitreich.org	70
i         struct bops *bops;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (path == NULL || bctx == NULL) {	Err	bitreich.org	70
i-                bseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         *bctx = calloc(1, sizeof(**bctx));	Err	bitreich.org	70
i         if (*bctx == NULL) {	Err	bitreich.org	70
i-                bseterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -45,13 +41,13 @@ bopen(char *path, int flags, int mode, struct bctx **bctx)	Err	bitreich.org	70
i         struct bops *bops;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (path == NULL || bctx == NULL) {	Err	bitreich.org	70
i-                bseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         *bctx = calloc(1, sizeof(**bctx));	Err	bitreich.org	70
i         if (*bctx == NULL) {	Err	bitreich.org	70
i-                bseterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -69,7 +65,7 @@ bput(struct bctx *bctx, void *buf, size_t n, unsigned char *md)	Err	bitreich.org	70
i         struct bops *bops;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bctx == NULL || buf == NULL || n == 0 || md == NULL) {	Err	bitreich.org	70
i-                bseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -83,7 +79,7 @@ bget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n)	Err	bitreich.org	70
i         struct bops *bops;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bctx == NULL || md == NULL || buf == NULL || n == NULL) {	Err	bitreich.org	70
i-                bseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -97,7 +93,7 @@ brm(struct bctx *bctx, unsigned char *md)	Err	bitreich.org	70
i         struct bops *bops;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bctx == NULL || md == NULL) {	Err	bitreich.org	70
i-                bseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -111,7 +107,7 @@ bgc(struct bctx *bctx)	Err	bitreich.org	70
i         struct bops *bops;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bctx == NULL) {	Err	bitreich.org	70
i-                bseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -125,7 +121,7 @@ bcheck(struct bctx *bctx, unsigned char *md)	Err	bitreich.org	70
i         struct bops *bops;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bctx == NULL || md == NULL) {	Err	bitreich.org	70
i-                bseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -139,7 +135,7 @@ bsync(struct bctx *bctx)	Err	bitreich.org	70
i         struct bops *bops;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bctx == NULL) {	Err	bitreich.org	70
i-                bseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -154,7 +150,7 @@ bclose(struct bctx *bctx)	Err	bitreich.org	70
i         int r;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bctx == NULL) {	Err	bitreich.org	70
i-                bseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -165,28 +161,3 @@ bclose(struct bctx *bctx)	Err	bitreich.org	70
i         free(bctx);	Err	bitreich.org	70
i         return r;	Err	bitreich.org	70
i }	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-void	Err	bitreich.org	70
i-bseterr(char *fmt, ...)	Err	bitreich.org	70
i-{	Err	bitreich.org	70
i-        va_list ap;	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-        va_start(ap, fmt);	Err	bitreich.org	70
i-        vsnprintf(errbuf, NERRBUF, fmt, ap);	Err	bitreich.org	70
i-        va_end(ap);	Err	bitreich.org	70
i-}	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-void	Err	bitreich.org	70
i-berr(char *fmt, ...)	Err	bitreich.org	70
i-{	Err	bitreich.org	70
i-        va_list ap;	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-        va_start(ap, fmt);	Err	bitreich.org	70
i-        vfprintf(stderr, fmt, ap);	Err	bitreich.org	70
i-        if (errbuf[0] == '\0')	Err	bitreich.org	70
i-                fprintf(stderr, ": unknown error\n");	Err	bitreich.org	70
i-        else	Err	bitreich.org	70
i-                fprintf(stderr, ": %s\n", errbuf);	Err	bitreich.org	70
i-        va_end(ap);	Err	bitreich.org	70
i-        exit(1);	Err	bitreich.org	70
i-}	Err	bitreich.org	70
1diff --git a/block.h b/block.h	/scm/dedup/file/block.h.gph	bitreich.org	70
i@@ -36,8 +36,8 @@ extern int bgc(struct bctx *);	Err	bitreich.org	70
i extern int bcheck(struct bctx *, unsigned char *);	Err	bitreich.org	70
i extern int bsync(struct bctx *);	Err	bitreich.org	70
i extern int bclose(struct bctx *);	Err	bitreich.org	70
i-extern void bseterr(char *, ...);	Err	bitreich.org	70
i-extern void berr(char *, ...);	Err	bitreich.org	70
i+extern void seterr(char *, ...);	Err	bitreich.org	70
i+extern void printerr(char *, ...);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i /* bcompat.c */	Err	bitreich.org	70
i extern int punchhole(int, off_t, off_t);	Err	bitreich.org	70
1diff --git a/bstorage.c b/bstorage.c	/scm/dedup/file/bstorage.c.gph	bitreich.org	70
i@@ -130,7 +130,7 @@ unpackbhdr(int fd, struct bhdr *bhdr)	Err	bitreich.org	70
i         int n;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (xread(fd, buf, sizeof(buf)) != sizeof(buf)) {	Err	bitreich.org	70
i-                bseterr("failed to read block header: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("failed to read block header: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -157,7 +157,7 @@ packbhdr(int fd, struct bhdr *bhdr)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         assert(n == BHDRSIZE);	Err	bitreich.org	70
i         if (xwrite(fd, buf, n) != n) {	Err	bitreich.org	70
i-                bseterr("failed to write block header: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("failed to write block header: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         return n;	Err	bitreich.org	70
i@@ -172,7 +172,7 @@ unpackbd(int fd, struct bd *bd)	Err	bitreich.org	70
i         int n;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (xread(fd, buf, sizeof(buf)) != sizeof(buf)) {	Err	bitreich.org	70
i-                bseterr("failed to read block descriptor: %s",	Err	bitreich.org	70
i+                seterr("failed to read block descriptor: %s",	Err	bitreich.org	70
i                         strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i@@ -209,7 +209,7 @@ packbd(int fd, struct bd *bd)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         assert(n == BDSIZE);	Err	bitreich.org	70
i         if (xwrite(fd, buf, n) != n) {	Err	bitreich.org	70
i-                bseterr("failed to write block descriptor: %s",	Err	bitreich.org	70
i+                seterr("failed to write block descriptor: %s",	Err	bitreich.org	70
i                         strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i@@ -224,7 +224,7 @@ loadbd(struct sctx *sctx)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         bd = calloc(1, sizeof(*bd));	Err	bitreich.org	70
i         if (bd == NULL) {	Err	bitreich.org	70
i-                bseterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -235,14 +235,14 @@ loadbd(struct sctx *sctx)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bd->type != BDTYPE) {	Err	bitreich.org	70
i                 free(bd);	Err	bitreich.org	70
i-                bseterr("invalid block descriptor type: %d", bd->type);	Err	bitreich.org	70
i+                seterr("invalid block descriptor type: %d", bd->type);	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         /* Move to the next block descriptor */	Err	bitreich.org	70
i         if (lseek(sctx->fd, bd->size, SEEK_CUR) < 0) {	Err	bitreich.org	70
i                 free(bd);	Err	bitreich.org	70
i-                bseterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -303,20 +303,20 @@ bscreat(struct bctx *bctx, char *path, int mode)	Err	bitreich.org	70
i         int fd;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (sodium_init() < 0) {	Err	bitreich.org	70
i-                bseterr("sodium_init: failed");	Err	bitreich.org	70
i+                seterr("sodium_init: failed");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         fd = open(path, O_RDWR | O_CREAT | O_EXCL, mode);	Err	bitreich.org	70
i         if (fd < 0) {	Err	bitreich.org	70
i-                bseterr("open: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("open: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         bctx->sctx = calloc(1, sizeof(struct sctx));	Err	bitreich.org	70
i         if (bctx->sctx == NULL) {	Err	bitreich.org	70
i                 close(fd);	Err	bitreich.org	70
i-                bseterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -354,25 +354,25 @@ bsopen(struct bctx *bctx, char *path, int flags, int mode)	Err	bitreich.org	70
i                 flags = O_RDWR;	Err	bitreich.org	70
i                 break;	Err	bitreich.org	70
i         default:	Err	bitreich.org	70
i-                bseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (sodium_init() < 0) {	Err	bitreich.org	70
i-                bseterr("sodium_init: failed");	Err	bitreich.org	70
i+                seterr("sodium_init: failed");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         fd = open(path, flags, mode);	Err	bitreich.org	70
i         if (fd < 0) {	Err	bitreich.org	70
i-                bseterr("open: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("open: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         bctx->sctx = calloc(1, sizeof(struct sctx));	Err	bitreich.org	70
i         if (bctx->sctx == NULL) {	Err	bitreich.org	70
i                 close(fd);	Err	bitreich.org	70
i-                bseterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -390,7 +390,7 @@ bsopen(struct bctx *bctx, char *path, int flags, int mode)	Err	bitreich.org	70
i         if (memcmp(bhdr->magic, BHDRMAGIC, NBHDRMAGIC) != 0) {	Err	bitreich.org	70
i                 free(sctx);	Err	bitreich.org	70
i                 close(fd);	Err	bitreich.org	70
i-                bseterr("unknown block header magic");	Err	bitreich.org	70
i+                seterr("unknown block header magic");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -398,7 +398,7 @@ bsopen(struct bctx *bctx, char *path, int flags, int mode)	Err	bitreich.org	70
i         if (((bhdr->flags >> VMAJSHIFT) & VMAJMASK) != VMAJ) {	Err	bitreich.org	70
i                 free(sctx);	Err	bitreich.org	70
i                 close(fd);	Err	bitreich.org	70
i-                bseterr("block header version mismatch");	Err	bitreich.org	70
i+                seterr("block header version mismatch");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -423,7 +423,7 @@ bsput(struct bctx *bctx, void *buf, size_t n, unsigned char *md)	Err	bitreich.org	70
i         off_t offs;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bhash(buf, n, key.md) < 0) {	Err	bitreich.org	70
i-                bseterr("bhash: failed");	Err	bitreich.org	70
i+                seterr("bhash: failed");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -439,7 +439,7 @@ bsput(struct bctx *bctx, void *buf, size_t n, unsigned char *md)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i                 bdoffs = bd->offset - BDSIZE;	Err	bitreich.org	70
i                 if (lseek(sctx->fd, bdoffs, SEEK_SET) < 0) {	Err	bitreich.org	70
i-                        bseterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i+                        seterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i                         return -1;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -456,13 +456,13 @@ bsput(struct bctx *bctx, void *buf, size_t n, unsigned char *md)	Err	bitreich.org	70
i         /* New blocks are appended at the end of storage file */	Err	bitreich.org	70
i         offs = lseek(sctx->fd, 0, SEEK_END);	Err	bitreich.org	70
i         if (offs < 0) {	Err	bitreich.org	70
i-                bseterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         bd = calloc(1, sizeof(*bd));	Err	bitreich.org	70
i         if (bd == NULL) {	Err	bitreich.org	70
i-                bseterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         bd->type = BDTYPE;	Err	bitreich.org	70
i@@ -480,7 +480,7 @@ bsput(struct bctx *bctx, void *buf, size_t n, unsigned char *md)	Err	bitreich.org	70
i                 /* Shouldn't fail but if it does rewind storage file state */	Err	bitreich.org	70
i                 ftruncate(sctx->fd, offs);	Err	bitreich.org	70
i                 free(bd);	Err	bitreich.org	70
i-                bseterr("failed to write block: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("failed to write block: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -508,21 +508,21 @@ bsget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n)	Err	bitreich.org	70
i         memcpy(key.md, md, MDSIZE);	Err	bitreich.org	70
i         bd = RB_FIND(bdcache, &sctx->bdcache, &key);	Err	bitreich.org	70
i         if (bd == NULL) {	Err	bitreich.org	70
i-                bseterr("unknown block");	Err	bitreich.org	70
i+                seterr("unknown block");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (*n < bd->size) {	Err	bitreich.org	70
i-                bseterr("buffer too small");	Err	bitreich.org	70
i+                seterr("buffer too small");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (lseek(sctx->fd, bd->offset, SEEK_SET) < 0) {	Err	bitreich.org	70
i-                bseterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         if (xread(sctx->fd, buf, bd->size) != bd->size) {	Err	bitreich.org	70
i-                bseterr("failed to read block: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("failed to read block: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         *n = bd->size;	Err	bitreich.org	70
i@@ -541,13 +541,13 @@ bsrm(struct bctx *bctx, unsigned char *md)	Err	bitreich.org	70
i         memcpy(key.md, md, MDSIZE);	Err	bitreich.org	70
i         bd = RB_FIND(bdcache, &sctx->bdcache, &key);	Err	bitreich.org	70
i         if (bd == NULL) {	Err	bitreich.org	70
i-                bseterr("unknown block");	Err	bitreich.org	70
i+                seterr("unknown block");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         bdoffs = bd->offset - BDSIZE;	Err	bitreich.org	70
i         if (lseek(sctx->fd, bdoffs, SEEK_SET) < 0) {	Err	bitreich.org	70
i-                bseterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -569,7 +569,7 @@ bsrm(struct bctx *bctx, unsigned char *md)	Err	bitreich.org	70
i                 lseek(sctx->fd, bdoffs, SEEK_SET);	Err	bitreich.org	70
i                 bd->refcnt++;	Err	bitreich.org	70
i                 packbd(sctx->fd, bd);	Err	bitreich.org	70
i-                bseterr("operation not supported");	Err	bitreich.org	70
i+                seterr("operation not supported");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -622,31 +622,31 @@ bscheck(struct bctx *bctx, unsigned char *md)	Err	bitreich.org	70
i         memcpy(key.md, md, MDSIZE);	Err	bitreich.org	70
i         bd = RB_FIND(bdcache, &sctx->bdcache, &key);	Err	bitreich.org	70
i         if (bd == NULL) {	Err	bitreich.org	70
i-                bseterr("unknown block");	Err	bitreich.org	70
i+                seterr("unknown block");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         buf = malloc(bd->size);	Err	bitreich.org	70
i         if (buf == NULL) {	Err	bitreich.org	70
i-                bseterr("malloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("malloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (lseek(sctx->fd, bd->offset, SEEK_SET) < 0) {	Err	bitreich.org	70
i                 free(buf);	Err	bitreich.org	70
i-                bseterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (xread(sctx->fd, buf, bd->size) != bd->size) {	Err	bitreich.org	70
i                 free(buf);	Err	bitreich.org	70
i-                bseterr("failed to read block: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("failed to read block: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bhash(buf, bd->size, key.md) < 0) {	Err	bitreich.org	70
i                 free(buf);	Err	bitreich.org	70
i-                bseterr("bhash: failed");	Err	bitreich.org	70
i+                seterr("bhash: failed");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -670,7 +670,7 @@ bssync(struct bctx *bctx)	Err	bitreich.org	70
i                 return 0;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (lseek(sctx->fd, 0, SEEK_SET) < 0) {	Err	bitreich.org	70
i-                bseterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         bhdr = &sctx->bhdr;	Err	bitreich.org	70
i@@ -705,7 +705,7 @@ bsclose(struct bctx *bctx)	Err	bitreich.org	70
i         r = close(sctx->fd);	Err	bitreich.org	70
i         free(sctx);	Err	bitreich.org	70
i         if (r < 0)	Err	bitreich.org	70
i-                bseterr("close: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("close: %s", strerror(errno));	Err	bitreich.org	70
i         return r;	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
1diff --git a/dup-check.c b/dup-check.c	/scm/dedup/file/dup-check.c.gph	bitreich.org	70
i@@ -71,14 +71,14 @@ check(struct sctx *sctx, struct bctx *bctx)	Err	bitreich.org	70
i                 int r;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i                 if ((r = bcheck(bctx, md)) < 0) {	Err	bitreich.org	70
i-                        berr("bcheck");	Err	bitreich.org	70
i+                        printerr("bcheck");	Err	bitreich.org	70
i                 } else if (r > 0) {	Err	bitreich.org	70
i                         sodium_bin2hex(mdstr, sizeof(mdstr), md, MDSIZE);	Err	bitreich.org	70
i                         puts(mdstr);	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         if (n < 0)	Err	bitreich.org	70
i-                serr("sget");	Err	bitreich.org	70
i+                printerr("sget");	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i static void	Err	bitreich.org	70
i@@ -130,16 +130,16 @@ main(int argc, char *argv[])	Err	bitreich.org	70
i         loadkey(keyfile);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (sopen(spath, S_READ, 0600, &sctx) < 0)	Err	bitreich.org	70
i-                serr("sopen: %s", spath);	Err	bitreich.org	70
i+                printerr("sopen: %s", spath);	Err	bitreich.org	70
i         if (bopen(bpath, B_READ, 0600, &bctx) <0)	Err	bitreich.org	70
i-                berr("bopen: %s", bpath);	Err	bitreich.org	70
i+                printerr("bopen: %s", bpath);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         check(sctx, bctx);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bclose(bctx) < 0)	Err	bitreich.org	70
i-                berr("bclose: %s", bpath);	Err	bitreich.org	70
i+                printerr("bclose: %s", bpath);	Err	bitreich.org	70
i         if (sclose(sctx) < 0)	Err	bitreich.org	70
i-                serr("sclose: %s", spath);	Err	bitreich.org	70
i+                printerr("sclose: %s", spath);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (unlockrepo(lfd) < 0)	Err	bitreich.org	70
i                 errx(1, "failed to unlock repository");	Err	bitreich.org	70
1diff --git a/dup-gc.c b/dup-gc.c	/scm/dedup/file/dup-gc.c.gph	bitreich.org	70
i@@ -104,11 +104,11 @@ main(int argc, char *argv[])	Err	bitreich.org	70
i         loadkey(keyfile);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bopen(path, B_RDWR, 0600, &bctx) < 0)	Err	bitreich.org	70
i-                berr("bopen: %s", path);	Err	bitreich.org	70
i+                printerr("bopen: %s", path);	Err	bitreich.org	70
i         if (bgc(bctx) < 0)	Err	bitreich.org	70
i-                berr("bgc: %s", path);	Err	bitreich.org	70
i+                printerr("bgc: %s", path);	Err	bitreich.org	70
i         if (bclose(bctx) < 0)	Err	bitreich.org	70
i-                berr("bclose: %s", path);	Err	bitreich.org	70
i+                printerr("bclose: %s", path);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (unlockrepo(lfd) < 0)	Err	bitreich.org	70
i                 errx(1, "failed to unlock repository");	Err	bitreich.org	70
1diff --git a/dup-init.c b/dup-init.c	/scm/dedup/file/dup-init.c.gph	bitreich.org	70
i@@ -124,9 +124,9 @@ main(int argc, char *argv[])	Err	bitreich.org	70
i         savestate(repo);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bcreat(bpath, 0600, &bctx) < 0)	Err	bitreich.org	70
i-                berr("bcreat: %s", bpath);	Err	bitreich.org	70
i+                printerr("bcreat: %s", bpath);	Err	bitreich.org	70
i         if (bclose(bctx) < 0)	Err	bitreich.org	70
i-                berr("bclose: %s", bpath);	Err	bitreich.org	70
i+                printerr("bclose: %s", bpath);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (unlockrepo(lfd) < 0)	Err	bitreich.org	70
i                 errx(1, "failed to unlock repository");	Err	bitreich.org	70
1diff --git a/dup-pack.c b/dup-pack.c	/scm/dedup/file/dup-pack.c.gph	bitreich.org	70
i@@ -73,9 +73,9 @@ pack(struct sctx *sctx, struct bctx *bctx)	Err	bitreich.org	70
i                 if (buf == NULL)	Err	bitreich.org	70
i                         errx(1, "cget: failed");	Err	bitreich.org	70
i                 if (bput(bctx, buf, n, md) < 0)	Err	bitreich.org	70
i-                        berr("bput");	Err	bitreich.org	70
i+                        printerr("bput");	Err	bitreich.org	70
i                 if (sput(sctx, md) < 0)	Err	bitreich.org	70
i-                        serr("sput");	Err	bitreich.org	70
i+                        printerr("sput");	Err	bitreich.org	70
i                 if (cdrain(c) < 0)	Err	bitreich.org	70
i                         errx(1, "cdrain: failed");	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i@@ -133,16 +133,16 @@ main(int argc, char *argv[])	Err	bitreich.org	70
i         loadkey(keyfile);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (screat(spath, 0600, &sctx) < 0)	Err	bitreich.org	70
i-                serr("screat: %s", spath);	Err	bitreich.org	70
i+                printerr("screat: %s", spath);	Err	bitreich.org	70
i         if (bopen(bpath, B_RDWR, 0600, &bctx) <0)	Err	bitreich.org	70
i-                berr("bopen: %s", bpath);	Err	bitreich.org	70
i+                printerr("bopen: %s", bpath);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         pack(sctx, bctx);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bclose(bctx) < 0)	Err	bitreich.org	70
i-                berr("bclose: %s", bpath);	Err	bitreich.org	70
i+                printerr("bclose: %s", bpath);	Err	bitreich.org	70
i         if (sclose(sctx) < 0)	Err	bitreich.org	70
i-                serr("sclose: %s", spath);	Err	bitreich.org	70
i+                printerr("sclose: %s", spath);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (unlockrepo(lfd) < 0)	Err	bitreich.org	70
i                 errx(1, "failed to unlock repository");	Err	bitreich.org	70
1diff --git a/dup-rm.c b/dup-rm.c	/scm/dedup/file/dup-rm.c.gph	bitreich.org	70
i@@ -63,10 +63,10 @@ rm(struct sctx *sctx, struct bctx *bctx)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         while ((n = sget(sctx, md)) == MDSIZE) {	Err	bitreich.org	70
i                 if (brm(bctx, md) < 0)	Err	bitreich.org	70
i-                        berr("brm");	Err	bitreich.org	70
i+                        printerr("brm");	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         if (n < 0)	Err	bitreich.org	70
i-                serr("sget");	Err	bitreich.org	70
i+                printerr("sget");	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i static void	Err	bitreich.org	70
i@@ -119,16 +119,16 @@ main(int argc, char *argv[])	Err	bitreich.org	70
i         loadkey(keyfile);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (sopen(spath, S_READ, 0600, &sctx) < 0)	Err	bitreich.org	70
i-                serr("sopen: %s", spath);	Err	bitreich.org	70
i+                printerr("sopen: %s", spath);	Err	bitreich.org	70
i         if (bopen(bpath, B_RDWR, 0600, &bctx) <0)	Err	bitreich.org	70
i-                berr("bopen: %s", bpath);	Err	bitreich.org	70
i+                printerr("bopen: %s", bpath);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         rm(sctx, bctx);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bclose(bctx) < 0)	Err	bitreich.org	70
i-                berr("bclose: %s", bpath);	Err	bitreich.org	70
i+                printerr("bclose: %s", bpath);	Err	bitreich.org	70
i         if (sclose(sctx) < 0)	Err	bitreich.org	70
i-                serr("sclose: %s", spath);	Err	bitreich.org	70
i+                printerr("sclose: %s", spath);	Err	bitreich.org	70
i         if (unlink(spath) < 0)	Err	bitreich.org	70
i                 err(1, "unlink: %s", spath);	Err	bitreich.org	70
i 	Err	bitreich.org	70
1diff --git a/dup-unpack.c b/dup-unpack.c	/scm/dedup/file/dup-unpack.c.gph	bitreich.org	70
i@@ -70,12 +70,12 @@ unpack(struct sctx *sctx, struct bctx *bctx)	Err	bitreich.org	70
i                 size_t bn = BSIZEMAX;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i                 if (bget(bctx, md, buf, &bn) < 0)	Err	bitreich.org	70
i-                        berr("bget");	Err	bitreich.org	70
i+                        printerr("bget");	Err	bitreich.org	70
i                 if (xwrite(1, buf, bn) != bn)	Err	bitreich.org	70
i                         err(1, "xwrite");	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         if (sn < 0)	Err	bitreich.org	70
i-                serr("sget");	Err	bitreich.org	70
i+                printerr("sget");	Err	bitreich.org	70
i         free(buf);	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -129,16 +129,16 @@ main(int argc, char *argv[])	Err	bitreich.org	70
i         loadkey(keyfile);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (sopen(spath, S_READ, 0600, &sctx) < 0)	Err	bitreich.org	70
i-                serr("sopen: %s", spath);	Err	bitreich.org	70
i+                printerr("sopen: %s", spath);	Err	bitreich.org	70
i         if (bopen(bpath, B_READ, 0600, &bctx) <0)	Err	bitreich.org	70
i-                berr("bopen: %s", bpath);	Err	bitreich.org	70
i+                printerr("bopen: %s", bpath);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         unpack(sctx, bctx);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (bclose(bctx) < 0)	Err	bitreich.org	70
i-                berr("bclose: %s", bpath);	Err	bitreich.org	70
i+                printerr("bclose: %s", bpath);	Err	bitreich.org	70
i         if (sclose(sctx) < 0)	Err	bitreich.org	70
i-                serr("sclose: %s", spath);	Err	bitreich.org	70
i+                printerr("sclose: %s", spath);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (unlockrepo(lfd) < 0)	Err	bitreich.org	70
i                 errx(1, "failed to unlock repository");	Err	bitreich.org	70
1diff --git a/misc.c b/misc.c	/scm/dedup/file/misc.c.gph	bitreich.org	70
i@@ -1,7 +1,13 @@	Err	bitreich.org	70
i #include <sys/types.h>	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+#include <stdarg.h>	Err	bitreich.org	70
i+#include <stdio.h>	Err	bitreich.org	70
i+#include <stdlib.h>	Err	bitreich.org	70
i #include <unistd.h>	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+#define NERRBUF        128	Err	bitreich.org	70
i+static char errbuf[NERRBUF];	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@@ -41,3 +47,28 @@ xwrite(int fd, void *buf, size_t nbytes)	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+void	Err	bitreich.org	70
i+seterr(char *fmt, ...)	Err	bitreich.org	70
i+{	Err	bitreich.org	70
i+        va_list ap;	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        va_start(ap, fmt);	Err	bitreich.org	70
i+        vsnprintf(errbuf, NERRBUF, fmt, ap);	Err	bitreich.org	70
i+        va_end(ap);	Err	bitreich.org	70
i+}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+void	Err	bitreich.org	70
i+printerr(char *fmt, ...)	Err	bitreich.org	70
i+{	Err	bitreich.org	70
i+        va_list ap;	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        va_start(ap, fmt);	Err	bitreich.org	70
i+        vfprintf(stderr, fmt, ap);	Err	bitreich.org	70
i+        if (errbuf[0] == '\0')	Err	bitreich.org	70
i+                fprintf(stderr, ": unknown error\n");	Err	bitreich.org	70
i+        else	Err	bitreich.org	70
i+                fprintf(stderr, ": %s\n", errbuf);	Err	bitreich.org	70
i+        va_end(ap);	Err	bitreich.org	70
i+        exit(1);	Err	bitreich.org	70
i+}	Err	bitreich.org	70
1diff --git a/misc.h b/misc.h	/scm/dedup/file/misc.h.gph	bitreich.org	70
i@@ -1,2 +1,4 @@	Err	bitreich.org	70
i extern ssize_t xread(int, void *, size_t);	Err	bitreich.org	70
i extern ssize_t xwrite(int, void *, size_t);	Err	bitreich.org	70
i+extern void seterr(char *, ...);	Err	bitreich.org	70
i+extern void printerr(char *, ...);	Err	bitreich.org	70
1diff --git a/snap.c b/snap.c	/scm/dedup/file/snap.c.gph	bitreich.org	70
i@@ -6,7 +6,6 @@	Err	bitreich.org	70
i #include <errno.h>	Err	bitreich.org	70
i #include <fcntl.h>	Err	bitreich.org	70
i #include <limits.h>	Err	bitreich.org	70
i-#include <stdarg.h>	Err	bitreich.org	70
i #include <stdint.h>	Err	bitreich.org	70
i #include <stdio.h>	Err	bitreich.org	70
i #include <stdlib.h>	Err	bitreich.org	70
i@@ -32,8 +31,6 @@	Err	bitreich.org	70
i 	Err	bitreich.org	70
i #define SHDRSIZE        (NSHDRMAGIC + 24 + 24 + 8 + 8)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-#define NERRBUF        128	Err	bitreich.org	70
i-	Err	bitreich.org	70
i /* misc helpers */	Err	bitreich.org	70
i extern int pack(unsigned char *, char *, ...);	Err	bitreich.org	70
i extern int unpack(unsigned char *, char *, ...);	Err	bitreich.org	70
i@@ -60,8 +57,6 @@ struct sctx {	Err	bitreich.org	70
i         struct shdr shdr;                        /* snapshot header */	Err	bitreich.org	70
i };	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-static char errbuf[NERRBUF];	Err	bitreich.org	70
i-	Err	bitreich.org	70
i /* Read snapshot header */	Err	bitreich.org	70
i static int	Err	bitreich.org	70
i unpackshdr(int fd, struct shdr *shdr)	Err	bitreich.org	70
i@@ -70,7 +65,7 @@ unpackshdr(int fd, struct shdr *shdr)	Err	bitreich.org	70
i         int n;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (xread(fd, buf, sizeof(buf)) != sizeof(buf)) {	Err	bitreich.org	70
i-                sseterr("failed to read snapshot header: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("failed to read snapshot header: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -101,7 +96,7 @@ packshdr(int fd, struct shdr *shdr)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         assert(n == SHDRSIZE);	Err	bitreich.org	70
i         if (xwrite(fd, buf, n) != n) {	Err	bitreich.org	70
i-                sseterr("failed to write snapshot header: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("failed to write snapshot header: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         return n;	Err	bitreich.org	70
i@@ -114,12 +109,12 @@ loadmd(struct sctx *sctx)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         mdnode = calloc(1, sizeof(*mdnode));	Err	bitreich.org	70
i         if (mdnode == NULL) {	Err	bitreich.org	70
i-                sseterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         if (xread(sctx->fd, mdnode->md, MDSIZE) != MDSIZE) {	Err	bitreich.org	70
i                 free(mdnode);	Err	bitreich.org	70
i-                sseterr("failed to read block hash: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("failed to read block hash: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         TAILQ_INSERT_TAIL(&sctx->mdhead, mdnode, e);	Err	bitreich.org	70
i@@ -157,25 +152,25 @@ screat(char *path, int mode, struct sctx **sctx)	Err	bitreich.org	70
i         int fd;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (path == NULL || sctx == NULL) {	Err	bitreich.org	70
i-                sseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (sodium_init() < 0) {	Err	bitreich.org	70
i-                sseterr("sodium_init: failed");	Err	bitreich.org	70
i+                seterr("sodium_init: failed");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         fd = open(path, O_RDWR | O_CREAT | O_EXCL, mode);	Err	bitreich.org	70
i         if (fd < 0) {	Err	bitreich.org	70
i-                sseterr("open: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("open: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         *sctx = calloc(1, sizeof(**sctx));	Err	bitreich.org	70
i         if (*sctx == NULL) {	Err	bitreich.org	70
i                 close(fd);	Err	bitreich.org	70
i-                sseterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -204,31 +199,31 @@ sopen(char *path, int flags, int mode, struct sctx **sctx)	Err	bitreich.org	70
i         int fd;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (path == NULL || sctx == NULL) {	Err	bitreich.org	70
i-                sseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         /* Existing snapshots are immutable */	Err	bitreich.org	70
i         if (flags != S_READ) {	Err	bitreich.org	70
i-                sseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (sodium_init() < 0) {	Err	bitreich.org	70
i-                sseterr("sodium_init: failed");	Err	bitreich.org	70
i+                seterr("sodium_init: failed");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         fd = open(path, O_RDONLY, mode);	Err	bitreich.org	70
i         if (fd < 0) {	Err	bitreich.org	70
i-                sseterr("open: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("open: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         *sctx = calloc(1, sizeof(**sctx));	Err	bitreich.org	70
i         if (*sctx == NULL) {	Err	bitreich.org	70
i                 close(fd);	Err	bitreich.org	70
i-                sseterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -248,7 +243,7 @@ sopen(char *path, int flags, int mode, struct sctx **sctx)	Err	bitreich.org	70
i         if (memcmp(shdr->magic, SHDRMAGIC, NSHDRMAGIC) != 0) {	Err	bitreich.org	70
i                 free(sctx);	Err	bitreich.org	70
i                 close(fd);	Err	bitreich.org	70
i-                sseterr("unknown snapshot header magic");	Err	bitreich.org	70
i+                seterr("unknown snapshot header magic");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -256,7 +251,7 @@ sopen(char *path, int flags, int mode, struct sctx **sctx)	Err	bitreich.org	70
i         if (((shdr->flags >> VMAJSHIFT) & VMAJMASK) != VMAJ) {	Err	bitreich.org	70
i                 free(sctx);	Err	bitreich.org	70
i                 close(fd);	Err	bitreich.org	70
i-                sseterr("snapshot header version mismatch");	Err	bitreich.org	70
i+                seterr("snapshot header version mismatch");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -275,13 +270,13 @@ sput(struct sctx *sctx, unsigned char *md)	Err	bitreich.org	70
i         struct mdnode *mdnode;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (sctx == NULL || md == NULL) {	Err	bitreich.org	70
i-                sseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         mdnode = calloc(1, sizeof(*mdnode));	Err	bitreich.org	70
i         if (mdnode == NULL) {	Err	bitreich.org	70
i-                sseterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("calloc: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         shdr = &sctx->shdr;	Err	bitreich.org	70
i@@ -297,7 +292,7 @@ sget(struct sctx *sctx, unsigned char *md)	Err	bitreich.org	70
i         struct mdnode *mdnode;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (sctx == NULL || md == NULL) {	Err	bitreich.org	70
i-                sseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -318,7 +313,7 @@ int	Err	bitreich.org	70
i srewind(struct sctx *sctx)	Err	bitreich.org	70
i {	Err	bitreich.org	70
i         if (sctx == NULL) {	Err	bitreich.org	70
i-                sseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         sctx->mdnext = NULL;	Err	bitreich.org	70
i@@ -332,7 +327,7 @@ ssync(struct sctx *sctx)	Err	bitreich.org	70
i         struct mdnode *mdnode;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (sctx == NULL) {	Err	bitreich.org	70
i-                sseterr("invalid params");	Err	bitreich.org	70
i+                seterr("invalid params");	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -340,7 +335,7 @@ ssync(struct sctx *sctx)	Err	bitreich.org	70
i                 return 0;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (lseek(sctx->fd, 0, SEEK_SET) < 0) {	Err	bitreich.org	70
i-                sseterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("lseek: %s", strerror(errno));	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -349,7 +344,7 @@ ssync(struct sctx *sctx)	Err	bitreich.org	70
i                 return -1;	Err	bitreich.org	70
i         TAILQ_FOREACH(mdnode, &sctx->mdhead, e) {	Err	bitreich.org	70
i                 if (xwrite(sctx->fd, mdnode->md, MDSIZE) != MDSIZE) {	Err	bitreich.org	70
i-                        sseterr("failed to write block hash: %s",	Err	bitreich.org	70
i+                        seterr("failed to write block hash: %s",	Err	bitreich.org	70
i                                 strerror(errno));	Err	bitreich.org	70
i                         return -1;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i@@ -381,31 +376,6 @@ sclose(struct sctx *sctx)	Err	bitreich.org	70
i         r = close(sctx->fd);	Err	bitreich.org	70
i         free(sctx);	Err	bitreich.org	70
i         if (r < 0)	Err	bitreich.org	70
i-                sseterr("close: %s", strerror(errno));	Err	bitreich.org	70
i+                seterr("close: %s", strerror(errno));	Err	bitreich.org	70
i         return r;	Err	bitreich.org	70
i }	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-void	Err	bitreich.org	70
i-sseterr(char *fmt, ...)	Err	bitreich.org	70
i-{	Err	bitreich.org	70
i-        va_list ap;	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-        va_start(ap, fmt);	Err	bitreich.org	70
i-        vsnprintf(errbuf, NERRBUF, fmt, ap);	Err	bitreich.org	70
i-        va_end(ap);	Err	bitreich.org	70
i-}	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-void	Err	bitreich.org	70
i-serr(char *fmt, ...)	Err	bitreich.org	70
i-{	Err	bitreich.org	70
i-        va_list ap;	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-        va_start(ap, fmt);	Err	bitreich.org	70
i-        vfprintf(stderr, fmt, ap);	Err	bitreich.org	70
i-        if (errbuf[0] == '\0')	Err	bitreich.org	70
i-                fprintf(stderr, ": unknown error\n");	Err	bitreich.org	70
i-        else	Err	bitreich.org	70
i-                fprintf(stderr, ": %s\n", errbuf);	Err	bitreich.org	70
i-        va_end(ap);	Err	bitreich.org	70
i-        exit(1);	Err	bitreich.org	70
i-}	Err	bitreich.org	70
1diff --git a/snap.h b/snap.h	/scm/dedup/file/snap.h.gph	bitreich.org	70
i@@ -11,5 +11,5 @@ extern int sget(struct sctx *, unsigned char *);	Err	bitreich.org	70
i extern int srewind(struct sctx *);	Err	bitreich.org	70
i extern int ssync(struct sctx *);	Err	bitreich.org	70
i extern int sclose(struct sctx *);	Err	bitreich.org	70
i-extern void sseterr(char *, ...);	Err	bitreich.org	70
i-extern void serr(char *, ...);	Err	bitreich.org	70
i+extern void seterr(char *, ...);	Err	bitreich.org	70
i+extern void printerr(char *, ...);	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/dedup/commit/a8beae9784fa77d5...
Content-Typetext/plain; charset=utf-8