diff options
Diffstat (limited to 'libc/unistd')
-rw-r--r-- | libc/unistd/daemon.c | 5 | ||||
-rw-r--r-- | libc/unistd/getpass.c | 6 | ||||
-rw-r--r-- | libc/unistd/usershell.c | 1 |
3 files changed, 9 insertions, 3 deletions
diff --git a/libc/unistd/daemon.c b/libc/unistd/daemon.c index 233dbbac4..4c18e55fa 100644 --- a/libc/unistd/daemon.c +++ b/libc/unistd/daemon.c @@ -26,6 +26,7 @@ #define dup2 __dup2 #define setsid __setsid #define chdir __chdir +#define fork __fork #include <stdio.h> #include <features.h> @@ -45,7 +46,7 @@ int daemon( int nochdir, int noclose ) case 0: break; default: - _exit(0); + _exit_internal(0); } if (setsid() == -1) @@ -54,7 +55,7 @@ int daemon( int nochdir, int noclose ) /* Make certain we are not a session leader, or else we * might reacquire a controlling terminal */ if (fork()) - _exit(0); + _exit_internal(0); if (!nochdir) chdir("/"); diff --git a/libc/unistd/getpass.c b/libc/unistd/getpass.c index a51c8e87f..834fba9d9 100644 --- a/libc/unistd/getpass.c +++ b/libc/unistd/getpass.c @@ -21,6 +21,8 @@ #define tcgetattr __tcgetattr #define fileno __fileno #define fflush __fflush +#define fgets __fgets +#define fputs __fputs #include <stdio.h> #include <string.h> @@ -28,6 +30,8 @@ #include <unistd.h> #include <string.h> +extern int __putc(int c, FILE *stream) attribute_hidden; + /* It is desirable to use this bit on systems that have it. The only bit of terminal state we want to twiddle is echoing, which is done in software; there is no need to change the state of the terminal @@ -95,7 +99,7 @@ getpass (prompt) buf[nread - 1] = '\0'; if (tty_changed) /* Write the newline that was not echoed. */ - putc('\n', out); + __putc('\n', out); } } diff --git a/libc/unistd/usershell.c b/libc/unistd/usershell.c index 143dc2630..bc29cf247 100644 --- a/libc/unistd/usershell.c +++ b/libc/unistd/usershell.c @@ -32,6 +32,7 @@ #define __fsetlocking __fsetlocking_internal #define fileno __fileno +#define fgets_unlocked __fgets_unlocked #define _GNU_SOURCE #include <sys/param.h> |