# HG changeset patch # User Paul Eggert # Date 1092095650 0 # Node ID 17c4badb386440e4d7ed713bb9a00325be329deb # Parent 62a3f981826024cf0d10f59eea649de337d6733a Add getpass.h, so it's properly declared. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,10 @@ * modules/xgethostname (Depends-on): Remove exit and error (not used). + * modules/getpass-gnu: Add getpass.h. + (Depends-on): Add stdbool. + * modules/getpass: Add getpass.h. + 2004-08-06 Paul Eggert More merge from coreutils. diff --git a/lib/ChangeLog b/lib/ChangeLog --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,7 +1,10 @@ 2004-08-08 Simon Josefsson - + * xgethostname.c: Don't include error.h (not used). + * getpass.h: Add. + * getpass.c: Include getpass.h first. + 2004-08-08 Paul Eggert * xalloc-die.c: New files. diff --git a/lib/getpass.c b/lib/getpass.c --- a/lib/getpass.c +++ b/lib/getpass.c @@ -19,6 +19,10 @@ # include #endif +#if !_LIBC +# include "getpass.h" +#endif + #if _LIBC # define HAVE_STDIO_EXT_H 1 #endif diff --git a/lib/getpass.h b/lib/getpass.h new file mode 100644 --- /dev/null +++ b/lib/getpass.h @@ -0,0 +1,31 @@ +/* getpass.h -- Read a password of arbitrary length from /dev/tty or stdin. + Copyright (C) 2004 Free Software Foundation, Inc. + Contributed by Simon Josefsson , 2004. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef GETPASS_H +#define GETPASS_H + +/* Get getpass declaration, if available. */ +#include + +#if defined HAVE_DECL_GETPASS && !HAVE_DECL_GETPASS +/* Read a password of arbitrary length from /dev/tty or stdin. */ +char *getpass (const char *prompt); + +#endif + +#endif /* GETPASS_H */ diff --git a/m4/ChangeLog b/m4/ChangeLog --- a/m4/ChangeLog +++ b/m4/ChangeLog @@ -4,6 +4,11 @@ * sha1.m4: Renamed from sha.m4. (gl_SHA1): Renamed from gl_SHA. All uses changed. +2004-08-08 Simon Josefsson + + * getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): + Check getpass declaration. + 2004-08-06 Paul Eggert More merge from coreutils. diff --git a/m4/getpass.m4 b/m4/getpass.m4 --- a/m4/getpass.m4 +++ b/m4/getpass.m4 @@ -1,4 +1,4 @@ -# getpass.m4 serial 3 +# getpass.m4 serial 4 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General @@ -10,6 +10,7 @@ AC_DEFUN([gl_FUNC_GETPASS], [ AC_REPLACE_FUNCS(getpass) + AC_CHECK_DECLS_ONCE(getpass) if test $ac_cv_func_getpass = no; then gl_PREREQ_GETPASS fi @@ -19,6 +20,7 @@ # arbitrary length (not just 8 bytes as on HP-UX). AC_DEFUN([gl_FUNC_GETPASS_GNU], [ + AC_CHECK_DECLS_ONCE(getpass) dnl TODO: Detect when GNU getpass() is already found in glibc. AC_LIBOBJ(getpass) gl_PREREQ_GETPASS diff --git a/modules/getpass b/modules/getpass --- a/modules/getpass +++ b/modules/getpass @@ -2,6 +2,7 @@ getpass() function: read a password from /dev/tty. Files: +lib/getpass.h lib/getpass.c m4/getpass.m4 @@ -14,8 +15,10 @@ gl_FUNC_GETPASS Makefile.am: +lib_SOURCES += getpass.h Include: +"getpass.h" Maintainer: Jim Meyering, glibc diff --git a/modules/getpass-gnu b/modules/getpass-gnu --- a/modules/getpass-gnu +++ b/modules/getpass-gnu @@ -2,19 +2,23 @@ getpass() function: read a password of arbitrary length from /dev/tty. Files: +lib/getpass.h lib/getpass.c m4/getpass.m4 Depends-on: unlocked-io getline +stdbool configure.ac: gl_FUNC_GETPASS_GNU Makefile.am: +lib_SOURCES += getpass.h Include: +"getpass.h" Maintainer: Jim Meyering, glibc