]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/cmd/hgfs/hash.c
mothra: fix alt display resizing, filter control characters in panel entries, use...
[plan9front.git] / sys / src / cmd / hgfs / hash.c
index 768e357599c490adf607380f0867298d94608696..e477c57344a0dfc3addec24b4714d06b464afe6e 100644 (file)
 int
 Hfmt(Fmt *f)
 {
-       uchar *p;
-
-       p = va_arg(f->args, uchar*);
-       return fmtprint(f, 
-               "%.2x%.2x%.2x%.2x%.2x%.2x",
-               p[0], p[1], p[2], p[3], p[4], p[5]);
+       uchar *p, *e;
+       for(p = va_arg(f->args, uchar*), e = p + HASHSZ; p != e; p++)
+               if(fmtprint(f, "%.2x", *p) < 0)
+                       return -1;
+       return 0;
 }
 
 int
@@ -42,7 +41,7 @@ fhash(int fd, uchar p1[], uchar p2[], uchar h[])
 }
 
 int
-strhash(char *s, uchar *h)
+hex2hash(char *s, uchar *h)
 {
        uchar *b;
        int n;
@@ -67,3 +66,15 @@ strhash(char *s, uchar *h)
        }
        return h - b;
 }
+
+uvlong
+hash2qid(uchar *h)
+{
+       uvlong v;
+       int i;
+
+       v = 0;
+       for(i=0; i<8; i++)
+               v |= (uvlong)h[i]<<(56-8*i);
+       return v;
+}