summaryrefslogtreecommitdiff
path: root/readline/tilde.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2005-05-09 19:42:03 +0000
committerMark Mitchell <mark@codesourcery.com>2005-05-09 19:42:03 +0000
commit8008bae486f0bb79bcadaabb79bb11f85256fbef (patch)
treed7c8e63ab6c8a711977e5098d69e39b6a0c08480 /readline/tilde.c
parent1cc5337f4965fb65a1ae71c9a5dd58541fc6678f (diff)
downloadgdb-8008bae486f0bb79bcadaabb79bb11f85256fbef.tar.gz
* readline/aclocal.m4: Use AC_TRY_LINK to check for mbstate_t.
* readline/complete.c (pwd.h): Guard with HAVE_PWD_H. (getpwent): Guard with HAVE_GETPWENT. (rl_username_completion_function): Guard use of getpwent. (endpwent): Likewise. * readline/config.h.in (HAVE_FCNTL): New macro. (HAVE_GETPWENT): Likewise. (HAVE_GETPWNAM): Likewise. (HAVE_GETPWUID): Likewise. (HAVE_KILL): Likewise. (HAVE_PWD_H): Likewise. * readline/configure: Regenerated. * readline/configure.in: Handle MinGW when cross compiling. Check for getpwnam, getpwent, getpwuid, kill, and pwd.h. * readline/display.c (rl_clear_screen): Treat Windows like DOS. (insert_some_chars): Likewise. (delete_chars): Likewise. * readline/shell.c (pwd.h): Guard with HAVE_PWD_H. (getpwuid): Guard with HAVE_GETPWUID. (sh_unset_nodelay_mode): Guard use of fnctl with HAVE_FNCTL_H. * readline/signals.c (rl_signal_handler): Don't use SIGALRM or SIGQUIT if not defined. Use "raise" if "kill" is not available. (rl_set_signals): Don't set handlers for SIGQUIT or SIGALRM if they are not defined. (rl_clear_signals): Likewise. * readline/tilde.c (pwd.h): Guard with HAVE_PWD_H. (getpwuid): Guard declaration with HAVE_GETPWUID. (getpwnam): Guard declaration with HAVE_GETPWNAM. (tilde_expand_word): Guard use of getpwnam with HAVE_GETPWNAM.
Diffstat (limited to 'readline/tilde.c')
-rw-r--r--readline/tilde.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/readline/tilde.c b/readline/tilde.c
index 154f7f8108d..60fc7fc6cdd 100644
--- a/readline/tilde.c
+++ b/readline/tilde.c
@@ -43,7 +43,9 @@
#endif /* HAVE_STDLIB_H */
#include <sys/types.h>
+#ifdef HAVE_PWD_H
#include <pwd.h>
+#endif /* HAVE_PWD_H */
#include "tilde.h"
@@ -53,10 +55,10 @@ static void *xmalloc (), *xrealloc ();
# include "xmalloc.h"
#endif /* TEST || STATIC_MALLOC */
-#if !defined (HAVE_GETPW_DECLS)
+#if defined (HAVE_GETPWNAM) && !defined (HAVE_GETPW_DECLS)
extern struct passwd *getpwuid PARAMS((uid_t));
extern struct passwd *getpwnam PARAMS((const char *));
-#endif /* !HAVE_GETPW_DECLS */
+#endif /* defined (HAVE_GETPWNAM) && !HAVE_GETPW_DECLS */
#if !defined (savestring)
#define savestring(x) strcpy ((char *)xmalloc (1 + strlen (x)), (x))
@@ -347,6 +349,7 @@ tilde_expand_word (filename)
/* No preexpansion hook, or the preexpansion hook failed. Look in the
password database. */
dirname = (char *)NULL;
+#ifdef HAVE_GETPWNAM
user_entry = getpwnam (username);
if (user_entry == 0)
{
@@ -374,6 +377,7 @@ tilde_expand_word (filename)
}
endpwent ();
+#endif
return (dirname);
}