changeset 4490:3994ca24c3a0

New module 'getpass-gnu'.
author Bruno Haible <bruno@clisp.org>
date Thu, 31 Jul 2003 14:47:20 +0000
parents 503bee88f421
children f260cd30baf4
files ChangeLog MODULES.html.sh m4/ChangeLog m4/getpass.m4 modules/getpass-gnu
diffstat 5 files changed, 47 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-07-31  Bruno Haible  <bruno@clisp.org>
+
+	* modules/getpass-gnu: New file.
+	* MODULES.html.sh (func_all_modules): Add getpass-gnu.
+
 2003-07-22  Paul Eggert  <eggert@twinsun.com>
 
 	* modules/xalloc (Depends-on): Add exitfail.
--- a/MODULES.html.sh
+++ b/MODULES.html.sh
@@ -1772,6 +1772,7 @@
   func_module closeout
   func_module stdio-safer
   func_module getpass
+  func_module getpass-gnu
   func_end_table
 
   element="Users and groups"
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,7 @@
+2003-07-31  Bruno Haible  <bruno@clisp.org>
+
+	* getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
+
 2003-07-18  Bruno Haible  <bruno@clisp.org>
 
 	* getndelim2.m4: New file.
--- a/m4/getpass.m4
+++ b/m4/getpass.m4
@@ -1,11 +1,12 @@
-# getpass.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
+# getpass.m4 serial 2
+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
 dnl Public License, this file may be distributed as part of a program
 dnl that contains a configuration script generated by Autoconf, under
 dnl the same distribution terms as the rest of that program.
 
+# Provide a getpass() function if the system doesn't have it.
 AC_DEFUN([gl_FUNC_GETPASS],
 [
   AC_REPLACE_FUNCS(getpass)
@@ -14,6 +15,19 @@
   fi
 ])
 
+# Provide the GNU getpass() implementation. It supports passwords of
+# arbitrary length (not just 8 bytes as on HP-UX).
+AC_DEFUN([gl_FUNC_GETPASS_GNU],
+[
+  AC_LIBOBJ(getpass)
+  gl_PREREQ_GETPASS
+  dnl We must choose a different name for our function, since on ELF systems
+  dnl an unusable getpass() in libc.so would override our getpass() if it is
+  dnl compiled into a shared library.
+  AC_DEFINE([getpass], [gnu_getpass],
+    [Define to a replacement function name for getpass().])
+])
+
 # Prerequisites of lib/getpass.c.
 AC_DEFUN([gl_PREREQ_GETPASS], [
   :
new file mode 100644
--- /dev/null
+++ b/modules/getpass-gnu
@@ -0,0 +1,21 @@
+Description:
+getpass() function: read a password of arbitrary length from /dev/tty.
+
+Files:
+lib/getpass.c
+m4/getpass.m4
+
+Depends-on:
+unlocked-io
+getline
+
+configure.ac:
+gl_FUNC_GETPASS_GNU
+
+Makefile.am:
+
+Include:
+
+Maintainer:
+Jim Meyering, glibc
+