Use or instead of add.
authorfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Thu, 20 Jul 2006 13:20:37 +0000 (13:20 +0000)
committerfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Thu, 20 Jul 2006 13:20:37 +0000 (13:20 +0000)
git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/vcfs@674 959494ce-11ee-0310-bf91-de5d638817bd

store.c

diff --git a/store.c b/store.c
index 8727512..5eef6d8 100644 (file)
--- a/store.c
+++ b/store.c
@@ -22,7 +22,7 @@ static ssize_t cacheget(struct store *st, struct addr *a, void *buf, size_t len)
 {
     int he, i;
 
-    he = a->hash[0] + ((a->hash[1] & 0x0f) << 8);
+    he = a->hash[0] | ((a->hash[1] & 0x0f) << 8);
     for(i = 0; i < 4; i++) {
        if(!addrcmp(&st->cache[he * 4 + i].a, a))
            break;
@@ -39,7 +39,7 @@ static void cacheput(struct store *st, struct addr *a, const void *data, ssize_t
     int he, i;
     struct storecache tmp;
     
-    he = a->hash[0] + ((a->hash[1] & 0x0f) << 8);
+    he = a->hash[0] | ((a->hash[1] & 0x0f) << 8);
     for(i = 0; i < 4; i++) {
        if(!addrcmp(&st->cache[he * 4 + i].a, a))
            break;