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);