Fix off-by-one bugs in bmread workaround
This commit is contained in:
parent
6222b58bbc
commit
36685d3938
|
@ -40,21 +40,20 @@ char *PHYSFSX_fgets(char *buf, size_t n, PHYSFS_file *const fp)
|
||||||
{
|
{
|
||||||
if (p == e)
|
if (p == e)
|
||||||
{
|
{
|
||||||
*p = 0;
|
std::fill(p, buf + n, 0);
|
||||||
break;
|
return buf;
|
||||||
}
|
}
|
||||||
char c = *p;
|
char c = *p;
|
||||||
if (c == 0)
|
if (c == 0)
|
||||||
break;
|
break;
|
||||||
if (c == '\n')
|
if (c == '\n')
|
||||||
{
|
{
|
||||||
*p = 0;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (c == '\r')
|
else if (c == '\r')
|
||||||
{
|
{
|
||||||
*p = 0;
|
*p = 0;
|
||||||
if (++p != e && *p == '\n')
|
if (++p != e && *p != '\n')
|
||||||
--p;
|
--p;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue