Mail Archives: djgpp-workers/2003/03/02/06:43:37
Hello.
Here is a patch to fix isatty, after changing it to use _get_dev_info.
After Charles pointed out, it should not return -1 on error -
it should return 0.
Charles, if this looks OK, I will commit it quickly.
Bye, Rich =]
Index: src/libc/posix/unistd/isatty.c
===================================================================
RCS file: /cvs/djgpp/djgpp/src/libc/posix/unistd/isatty.c,v
retrieving revision 1.2
diff -p -c -3 -r1.2 isatty.c
*** src/libc/posix/unistd/isatty.c 1 Mar 2003 13:19:12 -0000 1.2
--- src/libc/posix/unistd/isatty.c 2 Mar 2003 11:40:49 -0000
*************** isatty(int fd)
*** 12,19 ****
{
const int dev_info = _get_dev_info(fd);
if (dev_info == -1)
! return -1;
if ((dev_info & ISATTY_BITS) == ISATTY_BITS)
return 1;
--- 12,20 ----
{
const int dev_info = _get_dev_info(fd);
+ /* Pass on errno from _get_dev_info. */
if (dev_info == -1)
! return 0;
if ((dev_info & ISATTY_BITS) == ISATTY_BITS)
return 1;
Index: tests/libc/posix/unistd/t-isatty.c
===================================================================
RCS file: /cvs/djgpp/djgpp/tests/libc/posix/unistd/t-isatty.c,v
retrieving revision 1.1
diff -p -c -3 -r1.1 t-isatty.c
*** tests/libc/posix/unistd/t-isatty.c 1 Mar 2003 13:17:36 -0000 1.1
--- tests/libc/posix/unistd/t-isatty.c 2 Mar 2003 11:40:49 -0000
*************** main (void)
*** 12,18 ****
assert(!isatty(fileno(stdprn)));
/* Check an invalid file descriptor. */
! assert(isatty(99) < 0);
puts("PASS");
return(EXIT_SUCCESS);
--- 12,18 ----
assert(!isatty(fileno(stdprn)));
/* Check an invalid file descriptor. */
! assert(!isatty(99));
puts("PASS");
return(EXIT_SUCCESS);
Index: src/docs/kb/wc204.txi
===================================================================
RCS file: /cvs/djgpp/djgpp/src/docs/kb/wc204.txi,v
retrieving revision 1.144
diff -p -c -3 -r1.144 wc204.txi
*** src/docs/kb/wc204.txi 1 Mar 2003 14:38:26 -0000 1.144
--- src/docs/kb/wc204.txi 2 Mar 2003 11:41:00 -0000
*************** will inline to a single instruction when
*** 897,905 ****
@code{chmod} and @code{chown} can now be hooked by File System Extensions.
@findex isatty AT r{, and invalid file descriptors}
-
The function @code{isatty} now checks whether the file descriptor
! passed to it is a valid. If not, it will fail and set @code{errno}
to @code{EBADF}.
@findex perror
--- 897,904 ----
@code{chmod} and @code{chown} can now be hooked by File System Extensions.
@findex isatty AT r{, and invalid file descriptors}
The function @code{isatty} now checks whether the file descriptor
! passed to it is a valid. If not, it will set @code{errno}
to @code{EBADF}.
@findex perror
- Raw text -