diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-09-27 13:38:56 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-09-27 13:38:56 +0200 |
commit | 5e8e967f25085de78d7826fe5a6bebbace1c6823 (patch) | |
tree | 20c1041e70966d934981decec3972b0383a703db /src/os_amiga.c | |
parent | ce0fac28977af31f1dec411d3535b4de2c3169b3 (diff) | |
download | vim-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.c | 10 |
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; } |