shithub: gefs

Download patch

ref: a0d4209f2bbf4db9399e65c3d1779b3748968c4a
parent: 324d4e977b0d8fdab6aa0ce2853395f9275b9799
author: Ori Bernstein <ori@eigenstate.org>
date: Sat Dec 9 12:00:45 EST 2023

check: catch errors and report them

--- a/check.c
+++ b/check.c
@@ -48,10 +48,8 @@
 			fail++;
 		}
 	}
-	if(b->type == Tpivot && b->nval < 2){
+	if(b->type == Tpivot && b->nval < 2)
 		fprint(fd, "warning: underfilled pivot %B\n", b->bp);
-		fail++;
-	}
 	getval(b, 0, &x);
 	if(lo && keycmp(lo, &x) > 0){
 		fprint(fd, "out of range keys %P != %P\n", lo, &x);
@@ -184,6 +182,10 @@
 	Blk *b;
 
 	ok = 1;
+	if(waserror()){
+		fprint(fd, "error checking %s\n", errmsg());
+		return 0;
+	}
 	fprint(fd, "checking freelist\n");
 	if(badfree())
 		ok = 0;
@@ -221,5 +223,6 @@
 		dropblk(b);
 	}
 	btexit(&s);
+	poperror();
 	return ok;
 }
--- a/cons.c
+++ b/cons.c
@@ -122,7 +122,7 @@
 	if(checkfs(fd))
 		fprint(fd, "ok\n");
 	else
-		fprint(fd, "fishy\n");
+		fprint(fd, "broken\n");
 }
 
 static void