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.
front
cinap_lenrek 2020-03-01 23:23:01 +01:00
parent 2f976d8b56
commit 17136370d8
1 changed files with 4 additions and 6 deletions

View File

@ -45,18 +45,16 @@ loadrevinfo(Revlog *changelog, int rev)
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);