shithub: riscv

Download patch

ref: 17136370d8fa16697e8e5fce8ae65c67197f4438
parent: 2f976d8b56b77baa7a3b3ed29a56652a53c5315c
author: cinap_lenrek <[email protected]>
date: Sun Mar 1 18:23:01 EST 2020

hgfs: fix loadrevinfo() for empty log bug

loadrevinfo() would fail on a empty log portion due
to a bug in the previous commit.

the loop is supposed to skip all bytes until we encounter
a empty line. the loop starts at the beginning of a line
so when we encounter a \n, we have to terminate, otherwise
read bytes until we see \n (end of a line) and then read
another and test the condition again.

--- a/sys/src/cmd/hgfs/info.c
+++ b/sys/src/cmd/hgfs/info.c
@@ -45,18 +45,16 @@
 	free(line);
 
 	ri->logoff = Boffset(buf);
-
 	for(;;){
 		if((c = Bgetc(buf)) < 0)
 			goto Error;
-		if(c == '\n'){
+		if(c == '\n')
+			break;
+		do {
 			if((c = Bgetc(buf)) < 0)
 				goto Error;
-			if(c == '\n')
-				break;
-		}
+		} while(c != '\n');
 	}
-
 	ri->loglen = Boffset(buf) - ri->logoff - 1;
 
 	line = Brdstr(buf, '\0', 1);