if (err != 0)
{
/* getlogin_r() fails when stdin is not connected to a tty. */
- ASSERT (err == ENOTTY);
+ ASSERT (err == ENOTTY
+ || errno == EINVAL /* seen on Linux/SPARC */
+ );
#if !defined __hpux /* On HP-UX 11.11 it fails anyway. */
ASSERT (! isatty (0));
#endif
size_t i;
for (i = 0; i <= n; i++)
- ASSERT (getlogin_r (smallbuf, i) == ERANGE);
+ {
+ err = getlogin_r (smallbuf, i);
+ if (i == 0)
+ ASSERT (err == ERANGE || err == EINVAL);
+ else
+ ASSERT (err == ERANGE);
+ }
}
/* Test with a huge buffer. */