[osx] Add isatty().

This commit is contained in:
Lorenzo Cogotti 2022-12-15 19:34:49 +01:00
parent 55f642b328
commit d056382b5c
1 changed files with 11 additions and 0 deletions

11
osx.c
View File

@ -84,6 +84,7 @@ static int truncate(const char *path, __int64 size)
} }
#define ftruncate(fd, size) _chsize_s(fd, size) #define ftruncate(fd, size) _chsize_s(fd, size)
#define isatty(fd) _isatty(fd)
#define fsync(fd) _commit(fd) #define fsync(fd) _commit(fd)
static int flocking(FILE *fh, int mode, __int64 ofs, __int64 len) static int flocking(FILE *fh, int mode, __int64 ofs, __int64 len)
@ -801,6 +802,15 @@ static int os_fadvise(lua_State *L)
return os_result(L, ec, NULL); return os_result(L, ec, NULL);
} }
static int os_isatty(lua_State *L)
{
luaL_Stream *stream = luaL_checkudata(L, 1, LUA_FILEHANDLE);
int ec = isatty(fileno(stream->f));
lua_pushboolean(L, ec != 0);
return 1;
}
/** /**
* Commit any pending write to disk. * Commit any pending write to disk.
* *
@ -935,6 +945,7 @@ DF_OSXMOD_API int luaopen_osx(lua_State *L)
{ "setmode", os_setmode }, { "setmode", os_setmode },
{ "chsize", os_chsize }, { "chsize", os_chsize },
{ "fadvise", os_fadvise }, { "fadvise", os_fadvise },
{ "isatty", os_isatty },
{ "commit", os_commit }, { "commit", os_commit },
{ "locking", os_locking }, { "locking", os_locking },
{ NULL, NULL } { NULL, NULL }