progs/hashsum.c (checkhash): Fix stupid bugs.
authorMark Wooding <mdw@distorted.org.uk>
Sat, 5 Jul 2014 01:09:05 +0000 (02:09 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 5 Jul 2014 01:13:37 +0000 (02:13 +0100)
  * Initialize the return code.  Not sure why this didn't get a warning.

  * Pick up changes of hash function properly.

progs/hashsum.c

index 8cc1926..df1fdae 100644 (file)
@@ -90,7 +90,7 @@ static int warnjunk(const char *path, const struct stat *st, void *p)
 
 static int checkhash(fhashstate *fh, const char *file, const encodeops *e)
 {
-  int rc;
+  int rc = 0;
   hfpctx hfp;
   dstr dl = DSTR_INIT;
   dstr df = DSTR_INIT;
@@ -116,6 +116,7 @@ static int checkhash(fhashstate *fh, const char *file, const encodeops *e)
       case HF_HASH:
        xfree(hfp.hbuf);
        hfp.hbuf = xmalloc(2 * hfp.gch->hashsz);
+       fh->gch = hfp.gch;
        break;
       case HF_FILE:
        if (fhash(fh, df.buf, hfp.hbuf + hfp.gch->hashsz)) {