diff options
author | Jari Aalto <jari.aalto@cante.net> | 1999-02-19 17:11:39 +0000 |
---|---|---|
committer | Jari Aalto <jari.aalto@cante.net> | 2009-09-12 16:46:52 +0000 |
commit | b72432fdcc59300c6fe7c9d6c8a31ad3447933f5 (patch) | |
tree | b9899162338c2ff3fd83a8aef8831cb119e85cd7 /lib/readline/shell.c | |
parent | bc4cd23ce958feda898c618215f94d8a4e8f4ffa (diff) | |
download | android_external_bash-b72432fdcc59300c6fe7c9d6c8a31ad3447933f5.tar.gz android_external_bash-b72432fdcc59300c6fe7c9d6c8a31ad3447933f5.tar.bz2 android_external_bash-b72432fdcc59300c6fe7c9d6c8a31ad3447933f5.zip |
Imported from ../bash-2.03.tar.gz.
Diffstat (limited to 'lib/readline/shell.c')
-rw-r--r-- | lib/readline/shell.c | 43 |
1 files changed, 19 insertions, 24 deletions
diff --git a/lib/readline/shell.c b/lib/readline/shell.c index 553f3c1..091ec08 100644 --- a/lib/readline/shell.c +++ b/lib/readline/shell.c @@ -26,10 +26,9 @@ # include <config.h> #endif +#include <sys/types.h> + #if defined (HAVE_UNISTD_H) -# ifdef _MINIX -# include <sys/types.h> -# endif # include <unistd.h> #endif /* HAVE_UNISTD_H */ @@ -45,22 +44,16 @@ # include <strings.h> #endif /* !HAVE_STRING_H */ -extern char *xmalloc (), *xrealloc (); +#include <pwd.h> -#if !defined (SHELL) +#if !defined (HAVE_GETPW_DECLS) +extern struct passwd *getpwuid (); +#endif /* !HAVE_GETPW_DECLS */ -#ifdef savestring -#undef savestring -#endif +extern char *xmalloc (); -/* Backwards compatibility, now that savestring has been removed from - all `public' readline header files. */ -char * -savestring (s) - char *s; -{ - return ((char *)strcpy (xmalloc (1 + (int)strlen (s)), (s))); -} +/* All of these functions are resolved from bash if we are linking readline + as part of bash. */ /* Does shell-like quoting using single quotes. */ char * @@ -126,13 +119,15 @@ get_env_value (varname) return ((char *)getenv (varname)); } -#else /* SHELL */ -extern char *get_string_value (); - char * -get_env_value (varname) - char *varname; +get_home_dir () { - return get_string_value (varname); -} -#endif /* SHELL */ + char *home_dir; + struct passwd *entry; + + home_dir = (char *)NULL; + entry = getpwuid (getuid ()); + if (entry) + home_dir = entry->pw_dir; + return (home_dir); +} |