From f34e69a52b272587002e2577a3844a2b5e17711b Mon Sep 17 00:00:00 2001 From: SeekingBlues Date: Sat, 18 Jun 2022 00:30:52 +0800 Subject: LibC: Add `ctermid` We simply return "/dev/tty", since it always refers to the controlling terminal of the calling process. --- Userland/Libraries/LibC/stdio.cpp | 9 +++++++++ Userland/Libraries/LibC/stdio.h | 2 ++ 2 files changed, 11 insertions(+) (limited to 'Userland/Libraries/LibC') diff --git a/Userland/Libraries/LibC/stdio.cpp b/Userland/Libraries/LibC/stdio.cpp index dd265a2275..82620c2df8 100644 --- a/Userland/Libraries/LibC/stdio.cpp +++ b/Userland/Libraries/LibC/stdio.cpp @@ -1299,6 +1299,15 @@ FILE* tmpfile() return fdopen(fd, "rw"); } +// https://pubs.opengroup.org/onlinepubs/9699919799/functions/ctermid.html +char* ctermid(char* s) +{ + static char tty_path[L_ctermid] = "/dev/tty"; + if (s) + return strcpy(s, tty_path); + return tty_path; +} + size_t __fpending(FILE* stream) { ScopedFileLock lock(stream); diff --git a/Userland/Libraries/LibC/stdio.h b/Userland/Libraries/LibC/stdio.h index 96999ae422..4b9a769f87 100644 --- a/Userland/Libraries/LibC/stdio.h +++ b/Userland/Libraries/LibC/stdio.h @@ -27,6 +27,7 @@ __BEGIN_DECLS #define _IOLBF 1 #define _IONBF 2 +#define L_ctermid 9 #define L_tmpnam 256 #define P_tmpdir "/tmp" @@ -99,5 +100,6 @@ FILE* tmpfile(void); char* tmpnam(char*); FILE* popen(char const* command, char const* type); int pclose(FILE*); +char* ctermid(char* s); __END_DECLS -- cgit v1.2.3