# HG changeset patch # User Bram Moolenaar # Date 1569584705 -7200 # Node ID a3ddd35ee6d4a45ec4c39ed4a3c51455cd40e324 # Parent a98f052160ff01dcb71b688787d9d9eb416d44cb patch 8.1.2084: Amiga: cannot get the user name Commit: https://github.com/vim/vim/commit/5e8e967f25085de78d7826fe5a6bebbace1c6823 Author: Bram Moolenaar Date: Fri Sep 27 13:38:56 2019 +0200 patch 8.1.2084: Amiga: cannot get the user name Problem: Amiga: cannot get the user name. Solution: Use getpwuid() if available. (Ola S?der, closes https://github.com/vim/vim/issues/4985) diff --git a/src/os_amiga.c b/src/os_amiga.c --- 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; } diff --git a/src/os_amiga.h b/src/os_amiga.h --- a/src/os_amiga.h +++ b/src/os_amiga.h @@ -90,6 +90,7 @@ typedef long off_t; # include # include # include +# include # include #endif diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -758,6 +758,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2084, +/**/ 2083, /**/ 2082,