diff src/os_amiga.c @ 18178:a3ddd35ee6d4 v8.1.2084

patch 8.1.2084: Amiga: cannot get the user name Commit: https://github.com/vim/vim/commit/5e8e967f25085de78d7826fe5a6bebbace1c6823 Author: Bram Moolenaar <Bram@vim.org> 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)
author Bram Moolenaar <Bram@vim.org>
date Fri, 27 Sep 2019 13:45:05 +0200
parents 723ec38d521e
children 7f16792d15f7
line wrap: on
line diff
--- 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;
 }