diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2016-01-07 15:40:40 +0100 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2016-01-07 15:40:40 +0100 |
commit | 80a800978b1c9cb27940a08ec05bf806db3b282d (patch) | |
tree | 0db48c70ae6250eaac479b13943e55f219d06f98 /winsup/cygwin/syscalls.cc | |
parent | b8f9d8de2ccdd20f9b10094e65a1750f650c3088 (diff) | |
download | cygnal-80a800978b1c9cb27940a08ec05bf806db3b282d.tar.gz cygnal-80a800978b1c9cb27940a08ec05bf806db3b282d.tar.bz2 cygnal-80a800978b1c9cb27940a08ec05bf806db3b282d.zip |
Convert utmp{x}name to int, return useful value. Define _PATH_UTMPX
* syscalls.cc (utmpname): Convert to int. Return 0 if strdup
worked, -1 otherwise.
* include/utmpx.h (_PATH_UTMPX): Define as _PATH_UTMP.
(utmpxname): Declare as int function.
* include/sys/utmp.h (utmpname): Ditto.
* include/cygwin/version.h: Bump API minor version.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup/cygwin/syscalls.cc')
-rw-r--r-- | winsup/cygwin/syscalls.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc index 9d01955cf..3dd6af1ee 100644 --- a/winsup/cygwin/syscalls.cc +++ b/winsup/cygwin/syscalls.cc @@ -3955,7 +3955,7 @@ endutent () } } -extern "C" void +extern "C" int utmpname (const char *file) { __try @@ -3964,13 +3964,17 @@ utmpname (const char *file) { endutent (); utmp_file = strdup (file); - debug_printf ("New UTMP file: %s", utmp_file); - return; + if (utmp_file) + { + debug_printf ("New UTMP file: %s", utmp_file); + return 0; + } } } - __except (NO_ERROR) {} + __except (EFAULT) {} __endtry - debug_printf ("Invalid file"); + debug_printf ("Setting UTMP file failed"); + return -1; } EXPORT_ALIAS (utmpname, utmpxname) |