Eric Blake wrote:

> I'm seeking backup from those more knowledgeable about the C
> and POSIX standards as to whether NSK is allowed to define SSIZE_MAX to
> something smaller than what the underlying type can hold

I'm less knowledgeable than Paul, but I would say that 52*1024 is not an
"appropriate" value for SSIZE_MAX. Because if you say that it is, then the
sentence
   "{SSIZE_MAX}
           Maximum value of an object of type ssize_t."
is void - the standard authors might then have defined SSIZE_MAX as
    "The maximum I/O transfer size"
or  "A value of type ssize_t".

> and if so, whether it is worth auditing gnulib to find any places that have
> previously assumed that SSIZE_MAX is ((1<<(sizeof(ssize_t)*CHAR_BIT -
> 2))-1)*2+1.

I bet that there are none: There are few enough APIs that use ssize_t. If
Matthew doesn't like getline() to limit the result size to 52 KB, he can
propose a patch.

Bruno



Reply via email to