shithub: gefs

Download patch

ref: ddd9dca27120f88ef25139ec9fee2cf59af32db8
parent: 6388170f199f4ec4a2b9005c0f6cf8c15c4efab0
author: Michael Forney <mforney@mforney.org>
date: Tue Mar 1 16:26:35 EST 2022

pack: use nil name to pack directory scan prefix

--- a/fs.c
+++ b/fs.c
@@ -1214,8 +1214,7 @@
 	if((s = mallocz(sizeof(Scan), 1)) == nil)
 		return Enomem;
 
-	pfx[0] = Kent;
-	PBIT64(pfx+1, f->qpath);
+	packdkey(pfx, sizeof(pfx), f->qpath, nil);
 	if((e = btscan(f->mnt->root, s, pfx, sizeof(pfx))) != nil)
 		goto Out;
 	done = 0;
@@ -1403,8 +1402,7 @@
 		if((s = mallocz(sizeof(Scan), 1)) == nil)
 			return Enomem;
 
-		pfx[0] = Kent;
-		PBIT64(pfx+1, f->qpath);
+		packdkey(pfx, sizeof(pfx), f->qpath, nil);
 		if((e = btscan(f->mnt->root, s, pfx, sizeof(pfx))) != nil){
 			btdone(s);
 			free(s);
--- a/pack.c
+++ b/pack.c
@@ -159,7 +159,8 @@
 	ep = p + sz;
 	p = pack8(&err, p, ep, Kent);
 	p = pack64(&err, p, ep, up);
-	p = packstr(&err, p, ep, name);
+	if(name != nil)
+		p = packstr(&err, p, ep, name);
 	if(err)
 		return nil;
 	return p;