summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/uinfo.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/uinfo.cc')
-rw-r--r--winsup/cygwin/uinfo.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc
index 231347e1f..2bf164ff6 100644
--- a/winsup/cygwin/uinfo.cc
+++ b/winsup/cygwin/uinfo.cc
@@ -166,6 +166,20 @@ uinfo_init ()
cygheap->user.set_saved_sid (); /* Update the original sid */
}
+extern "C" int
+getlogin_r (char *name, size_t namesize)
+{
+ char *login = getlogin ();
+ size_t len = strlen (login) + 1;
+ if (len > namesize)
+ return ERANGE;
+ int err = __check_null_invalid_struct (name, len);
+ if (err)
+ return err;
+ strncpy (name, login, len);
+ return 0;
+}
+
extern "C" char *
getlogin (void)
{