173. Inconsistent types for basic_filebuf::setbuf()

Section: 31.10.3.5 [filebuf.virtuals] Status: TC1 Submitter: Greg Comeau, Dietmar Kühl Opened: 1999-07-23 Last modified: 2016-01-28

Priority: Not Prioritized

View all other issues in [filebuf.virtuals].

View all issues with TC1 status.

Discussion:

In 31.10.3 [filebuf] the function setbuf() gets an object of type streamsize as second argument. However, in 31.10.3.5 [filebuf.virtuals] paragraph 9 the second argument is of type int.

As far as I can see this is not really a contradiction because everything is consistent if streamsize is typedef to be int. However, this is almost certainly not what was intended. The same thing happened to basic_istream::ignore(), as described in issue 172.

Proposed resolution:

In 31.10.3.5 [filebuf.virtuals] paragraph 9, change all uses of int in the description of setbuf() to streamsize.