Add hash update notif.
[doldaconnect.git] / daemon / client.c
index 1bf2420..814ee0f 100644 (file)
@@ -178,10 +178,13 @@ struct hash *parsehash(wchar_t *text)
 
 wchar_t *unparsehash(struct hash *hash)
 {
-    wchar_t *buf, *whbuf;
+    static wchar_t *buf = NULL;
+    wchar_t *whbuf;
     char *hbuf;
     size_t bufsize, bufdata;
     
+    if(buf != NULL)
+       free(buf);
     buf = NULL;
     bufsize = bufdata = 0;
     hbuf = base64encode(hash->buf, hash->len);
@@ -195,9 +198,21 @@ wchar_t *unparsehash(struct hash *hash)
     addtobuf(buf, ':');
     bufcat(buf, whbuf, wcslen(whbuf));
     free(whbuf);
+    addtobuf(buf, 0);
     return(buf);
 }
 
+int hashcmp(struct hash *h1, struct hash *h2)
+{
+    if(wcscmp(h1->algo, h2->algo))
+       return(0);
+    if(h1->len != h2->len)
+       return(0);
+    if(memcmp(h1->buf, h2->buf, h1->len))
+       return(0);
+    return(1);
+}
+
 static struct hashcache *newhashcache(void)
 {
     struct hashcache *new;