This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of TC1 status.

### 173. Inconsistent types for `basic_filebuf::setbuf()`

Section: 31.10.2.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.2 [filebuf] the function `setbuf()` gets an object of type `streamsize` as second argument. However, in 31.10.2.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.2.5 [filebuf.virtuals] paragraph 9, change all uses of `int` in the description of `setbuf()` to `streamsize`.