summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/syscalls.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/syscalls.cc')
-rw-r--r--winsup/cygwin/syscalls.cc14
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)