Will use bsd_getopt() wrapper instead.
This commit is contained in:
Robert Millan 2006-02-13 20:25:22 +00:00 committed by Guillem Jover
parent 34b269a1cf
commit 019b5818da
4 changed files with 3 additions and 62 deletions

View File

@ -1,11 +1,3 @@
2006-02-13 Robert Millan <rmh@aybabtu.com>
Add reset_getopt (borrowed from e2fsprogs).
* reset_getopt.c: New.
* Versions: Add reset_getopt.
* Makefile: Add reset_getopt.c.
* debian/copyright: Add license (GPL).
2006-02-10 Robert Millan <rmh@aybabtu.com> 2006-02-10 Robert Millan <rmh@aybabtu.com>
Add errc, warnc, verrc and vwarnc. Add errc, warnc, verrc and vwarnc.

View File

@ -4,7 +4,7 @@
# $Id$ # $Id$
# #
LIB_SRCS = arc4random.c err.c fgetln.c inet_net_pton.c reset_getopt.c strlcat.c strlcpy.c md5c.c fmtcheck.c LIB_SRCS = arc4random.c err.c fgetln.c inet_net_pton.c strlcat.c strlcpy.c md5c.c fmtcheck.c
LIB_INCLUDES = include/bsd/err.h include/bsd/ip_icmp.h include/bsd/random.h include/bsd/queue.h include/bsd/md5.h include/bsd/string.h include/bsd/bsd.h include/bsd/stdlib.h LIB_INCLUDES = include/bsd/err.h include/bsd/ip_icmp.h include/bsd/random.h include/bsd/queue.h include/bsd/md5.h include/bsd/string.h include/bsd/bsd.h include/bsd/stdlib.h

View File

@ -6,8 +6,8 @@ LIBBSD_0.0 {
fgetwln; fgetwln;
fmtcheck; fmtcheck;
inet_net_pton; inet_net_pton;
reset_getopt; strlcpy;
strlcpy; strlcat; strlcat;
MD5Init; MD5Init;
MD5Update; MD5Update;
MD5Pad; MD5Pad;

View File

@ -1,51 +0,0 @@
/*
* util.c --- utilities for the debugfs program
*
* Copyright (C) 1993, 1994 Theodore Ts'o. This file may be
* redistributed under the terms of the GNU Public License.
*
*/
/* Enable getopt variables */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
#include <unistd.h>
#include <sys/param.h> /* BSD */
#ifdef BSD
# define HAVE_OPTRESET 1
#endif
/*
* This function resets the libc getopt() function, which keeps
* internal state. Bad design! Stupid libc API designers! No
* biscuit!
*
* BSD-derived getopt() functions require that optind be reset to 1 in
* order to reset getopt() state. This used to be generally accepted
* way of resetting getopt(). However, glibc's getopt()
* has additional getopt() state beyond optind, and requires that
* optind be set zero to reset its state. So the unfortunate state of
* affairs is that BSD-derived versions of getopt() misbehave if
* optind is set to 0 in order to reset getopt(), and glibc's getopt()
* will core ump if optind is set 1 in order to reset getopt().
*
* More modern versions of BSD require that optreset be set to 1 in
* order to reset getopt(). Sigh. Standards, anyone?
*
* We hide the hair here.
*/
void
reset_getopt (void)
{
#ifdef __GLIBC__
optind = 0;
#else
optind = 1;
#endif
#ifdef HAVE_OPTRESET
optreset = 1; /* Makes BSD getopt happy */
#endif
}