Fix off-by-one bugs in bmread workaround

This commit is contained in:
Kp 2014-07-02 02:29:35 +00:00
parent 6222b58bbc
commit 36685d3938

View file

@ -40,21 +40,20 @@ char *PHYSFSX_fgets(char *buf, size_t n, PHYSFS_file *const fp)
{
if (p == e)
{
*p = 0;
break;
std::fill(p, buf + n, 0);
return buf;
}
char c = *p;
if (c == 0)
break;
if (c == '\n')
{
*p = 0;
break;
}
else if (c == '\r')
{
*p = 0;
if (++p != e && *p == '\n')
if (++p != e && *p != '\n')
--p;
break;
}