diff options
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) |