[PATCH] login.c argp fix

Marcus Brinkmann <[email protected]> Tue, 09 Mar 2004 14:00:27 +0100
Newsgroups gmane.os.hurd.devel.readers
Message-ID <[email protected]>
Hi,

now that argp in glibc is fixed (thanks to the fab 3 and a half
[Roland, Uli, Paul, and me]), we can now remove the ugly kludge in
login.c, see patch below.

Mmh, we should probably make a configure check.  Or do we just assume
people will always use the latest glibc?  I think this came up before,
but with no decision, if we check for a fixed minimal version or do
feature checks.  Roland, what do you think?  It would be easy to test
for _argp_lock_xxx here, which would be a good indication for a safe
argp.

Marco also made a nice argp patch for the console to use it for the
plugins.

Thanks,
Marcus

2004-03-09  Marcus Brinkmann  <[email protected]>

	* login.c (main): Remove extern declaration and invocation for
	_argp_unlock_xxx.

Index: login.c
===================================================================
RCS file: /cvsroot/hurd/hurd/utils/login.c,v
retrieving revision 1.56
diff -u -r1.56 login.c
--- login.c	28 May 2002 23:56:34 -0000	1.56
+++ login.c	9 Mar 2004 12:54:01 -0000
@@ -441,7 +441,6 @@
       int retry_argc;
       char **retry_argv;
       char *via = envz_get (args, args_len, "VIA");
-      extern void _argp_unlock_xxx (); /* Secret unknown function.  */
 
       if (fmt)
 	error (retry ? 0 : code, err, fmt, str); /* May exit... */
@@ -457,7 +456,6 @@
       argz_extract (retry_args, retry_args_len, retry_argv);
 
       /* Reinvoke ourselves with no userids or anything; shouldn't return.  */
-      _argp_unlock_xxx ();	/* Hack to get around problems with getopt. */
       main (retry_argc, retry_argv);
       exit (code);		/* But if it does... */
     }