Blob Blame History Raw
diff -urb duperemove-0.11a/csum-xxhash.c duperemove-0.11b/csum-xxhash.c
--- duperemove-0.11a/csum-xxhash.c	2018-05-15 20:47:26.000000000 +0100
+++ duperemove-0.11b/csum-xxhash.c	2018-09-10 11:11:17.768921930 +0100
@@ -43,7 +43,7 @@
 }
 
 struct xxhash_running_checksum {
-	XXH64_state_t	td64;
+	XXH64_state_t	*td64;
 };
 DECLARE_RUNNING_CSUM_CAST_FUNCS(xxhash_running_checksum);
 
@@ -51,7 +51,8 @@
 {
 	struct xxhash_running_checksum *c =
 		calloc(1, sizeof(struct xxhash_running_checksum));
-	XXH64_reset(&c->td64, 0);
+	c->td64 = XXH64_createState();
+	XXH64_reset(c->td64, 0);
 	return priv_to_rc(c);
 }
 
@@ -59,7 +60,7 @@
 					   unsigned int len, unsigned char *buf)
 {
 	struct xxhash_running_checksum *c = rc_to_priv(_c);
-	XXH64_update(&c->td64, buf, len);
+	XXH64_update(c->td64, buf, len);
 }
 
 static void xxhash_finish_running_checksum(struct running_checksum *_c,
@@ -68,7 +69,8 @@
 	struct xxhash_running_checksum *c = rc_to_priv(_c);
 	unsigned long long *hash = (unsigned long long*)digest;
 
-	*hash = XXH64_digest(&c->td64);
+	*hash = XXH64_digest(c->td64);
+	XXH64_freeState(c->td64);
 	free(c);
 }
 
diff -urb duperemove-0.11a/Makefile duperemove-0.11b/Makefile
--- duperemove-0.11a/Makefile	2018-05-15 20:47:26.000000000 +0100
+++ duperemove-0.11b/Makefile	2018-09-10 11:09:11.808519081 +0100
@@ -8,13 +8,13 @@
 
 HEADERS=csum.h hash-tree.h results-tree.h kernel.h list.h rbtree.h dedupe.h \
 	btrfs-ioctl.h filerec.h btrfs-util.h debug.h util.h \
-	memstats.h file_scan.h find_dupes.h run_dedupe.h xxhash.h \
+	memstats.h file_scan.h find_dupes.h run_dedupe.h \
 	bswap.h dbfile.h interval_tree.h interval_tree_generic.h \
 	rbtree_augmented.h list_sort.h stats.h
 CFILES=duperemove.c hash-tree.c results-tree.c rbtree.c dedupe.c filerec.c \
 	btrfs-util.c util.c memstats.c file_scan.c find_dupes.c run_dedupe.c \
 	csum.c dbfile.c interval_tree.c list_sort.c stats.c debug.c
-hash_CFILES=csum-xxhash.c xxhash.c csum-murmur3.c
+hash_CFILES=csum-xxhash.c csum-murmur3.c
 
 CFILES += $(hash_CFILES)
 
@@ -24,7 +24,7 @@
 
 DIST_CFILES:=$(CFILES) $(hashstats_CFILES) $(btrfs_extent_same_CFILES) \
 	$(csum_test_CFILES)
-DIST_SOURCES:=$(DIST_CFILES) $(HEADERS) LICENSE LICENSE.xxhash Makefile \
+DIST_SOURCES:=$(DIST_CFILES) $(HEADERS) LICENSE Makefile \
 	rbtree.txt README.md $(MANPAGES) SubmittingPatches docs/duperemove.html
 DIST=duperemove-$(VER)
 DIST_TARBALL=$(RELEASE).tar.gz
@@ -45,6 +45,7 @@
 glib_LIBS=$(shell pkg-config --libs glib-2.0)
 sqlite_CFLAGS=$(shell pkg-config --cflags sqlite3)
 sqlite_LIBS=$(shell pkg-config --libs sqlite3)
+hash_LIBS=-lxxhash
 
 ifdef DEBUG
 	DEBUG_FLAGS = -ggdb3 -fsanitize=address -fno-omit-frame-pointer	\