changeset 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 a98f052160ff
children cb074cd29fca
files src/os_amiga.c src/os_amiga.h src/version.c
diffstat 3 files changed, 12 insertions(+), 1 deletions(-) [+]
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;
 }
--- a/src/os_amiga.h
+++ b/src/os_amiga.h
@@ -90,6 +90,7 @@ typedef long off_t;
 # include <unistd.h>
 # include <limits.h>
 # include <errno.h>
+# include <pwd.h>
 # include <dirent.h>
 #endif
 
--- 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,