[gnu.g++.lib.bug] Bug in File::tell

kearns@read.columbia.edu (Steve Kearns) (08/11/89)

I think the following is a bug, but I wonder cause one would think it would
have been found previously.   From File.h:

inline long File::tell()
{
  failif (!is_open() || (stat = ftell(fp) < 0));
  return stat;
}

but < has tighter precedence than = , so this says


inline long File::tell()
{
  failif (!is_open() || (stat = (ftell(fp) < 0)));
  return stat;
}

which is wrong.  Right would be:


inline long File::tell()
{
  failif (!is_open() || ((stat = ftell(fp)) < 0));
  return stat;
}