This is the mail archive of the mailing list for the newlib project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: isatty()

Jeff Johnston a wrote :
_isatty is not one of the fundamental syscalls required by newlib. Remember that newlib's historical origin was to support embedded platforms and it only required a small set of syscalls to support the ANSI C plus miscellaneous functions. There is a rough isatty() implementation in libc/posix that uses fstat, not _isatty.

Platforms that have wanted it have typically just done so directly in their libgloss implementation or libc/sys (used before libgloss was created) or they use the libc/posix implementation or they use the default libgloss/isatty.c version (always returns 1) or they let libnosys resolve it (always returns 0) just to allow tests to link/run.

I understand. But there are 2 problems :

1) isatty() is currently fundamental, because without it, a simple printf() cannot link !
isatty() is used at the bottom of libc/stdio/makebuf.c

2) The isatty() implementation in libgloss/libnosys/isatty.c uses the wrong errno. It should only #include <errno.h>, without #undef errno, extern int errno.

Vincent Rivière

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]