changeset 5170:17c4badb3864

Add getpass.h, so it's properly declared.
author Paul Eggert <eggert@cs.ucla.edu>
date Mon, 09 Aug 2004 23:54:10 +0000
parents 62a3f9818260
children 496d490f0b30
files ChangeLog lib/ChangeLog lib/getpass.c lib/getpass.h m4/ChangeLog m4/getpass.m4 modules/getpass modules/getpass-gnu
diffstat 8 files changed, 58 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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  <eggert@cs.ucla.edu>
 
 	More merge from coreutils.
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,7 +1,10 @@
 2004-08-08  Simon Josefsson  <jas@extundo.com>
-
+	
 	* xgethostname.c: Don't include error.h (not used).
 
+	* getpass.h: Add.
+	* getpass.c: Include getpass.h first.
+
 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
 
 	* xalloc-die.c: New files.
--- a/lib/getpass.c
+++ b/lib/getpass.c
@@ -19,6 +19,10 @@
 # include <config.h>
 #endif
 
+#if !_LIBC
+# include "getpass.h"
+#endif
+
 #if _LIBC
 # define HAVE_STDIO_EXT_H 1
 #endif
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 <jas@extundo.com>, 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 <unistd.h>
+
+#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 */
--- 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  <jas@extundo.com>
+
+	* getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
+	Check getpass declaration.
+
 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
 
 	More merge from coreutils.
--- 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
--- 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
--- 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