aboutsummaryrefslogtreecommitdiff
path: root/src/misc1.c
diff options
context:
space:
mode:
authorStefan Hoffmann <stefan991@gmail.com>2014-03-07 13:43:55 +0100
committerThiago de Arruda <tpadilha84@gmail.com>2014-03-13 17:18:44 -0300
commit33eb031c01a0a918283290884db0e72ea2f587f0 (patch)
tree8d4f391b439fa6feb0d34fd35e1b2566a28bf755 /src/misc1.c
parentad77ff53d3ad5f1c4fdf2938bab2c9999df2c82b (diff)
downloadrneovim-33eb031c01a0a918283290884db0e72ea2f587f0.tar.gz
rneovim-33eb031c01a0a918283290884db0e72ea2f587f0.tar.bz2
rneovim-33eb031c01a0a918283290884db0e72ea2f587f0.zip
refactored part of expand_env_esc() into mch_get_user_directory()
Diffstat (limited to 'src/misc1.c')
-rw-r--r--src/misc1.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/src/misc1.c b/src/misc1.c
index e78343291b..4c3e21735f 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -2895,25 +2895,14 @@ expand_env_esc (
*var = NUL;
# ifdef UNIX
/*
- * If the system supports getpwnam(), use it.
- * Otherwise, or if getpwnam() fails, the shell is used to
- * expand ~user. This is slower and may fail if the shell
+ * Use mch_get_user_directory() to get the user directory.
+ * If this function fails, the shell is used to
+ * expand ~user. This is slower and may fail if the shell
* does not support ~user (old versions of /bin/sh).
*/
-# if defined(HAVE_GETPWNAM) && defined(HAVE_PWD_H)
- {
- struct passwd *pw;
-
- /* Note: memory allocated by getpwnam() is never freed.
- * Calling endpwent() apparently doesn't help. */
- pw = getpwnam((char *)dst + 1);
- if (pw != NULL)
- var = (char_u *)pw->pw_dir;
- else
- var = NULL;
- }
+ var = (char_u *)mch_get_user_directory((char *)dst + 1);
+ mustfree = TRUE;
if (var == NULL)
-# endif
{
expand_T xpc;