summaryrefslogtreecommitdiff
path: root/src/os_amiga.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-09-27 13:38:56 +0200
committerBram Moolenaar <Bram@vim.org>2019-09-27 13:38:56 +0200
commit5e8e967f25085de78d7826fe5a6bebbace1c6823 (patch)
tree20c1041e70966d934981decec3972b0383a703db /src/os_amiga.c
parentce0fac28977af31f1dec411d3535b4de2c3169b3 (diff)
downloadvim-git-5e8e967f25085de78d7826fe5a6bebbace1c6823.tar.gz
patch 8.1.2084: Amiga: cannot get the user namev8.1.2084
Problem: Amiga: cannot get the user name. Solution: Use getpwuid() if available. (Ola Söder, closes #4985)
Diffstat (limited to 'src/os_amiga.c')
-rw-r--r--src/os_amiga.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/os_amiga.c b/src/os_amiga.c
index dfc805374..aff24c567 100644
--- a/src/os_amiga.c
+++ b/src/os_amiga.c
@@ -664,7 +664,15 @@ mch_can_restore_icon(void)
int
mch_get_user_name(char_u *s, int len)
{
- /* TODO: Implement this. */
+#if defined(__amigaos4__) || defined(__AROS__) || defined(__MORPHOS__)
+ struct passwd *pwd = getpwuid(getuid());
+
+ if (pwd != NULL && pwd->pw_name && len > 0)
+ {
+ vim_strncpy(s, (char_u *)pwd->pw_name, len - 1);
+ return OK;
+ }
+#endif
*s = NUL;
return FAIL;
}