diff options
Diffstat (limited to 'crypto/heimdal/lib/roken/getopt.c')
| -rw-r--r-- | crypto/heimdal/lib/roken/getopt.c | 128 | 
1 files changed, 0 insertions, 128 deletions
| diff --git a/crypto/heimdal/lib/roken/getopt.c b/crypto/heimdal/lib/roken/getopt.c deleted file mode 100644 index 45fc35023453..000000000000 --- a/crypto/heimdal/lib/roken/getopt.c +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Copyright (c) 1987, 1993 - *	The Regents of the University of California.  All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - *    must display the following acknowledgement: - *	This product includes software developed by the University of - *	California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - *    may be used to endorse or promote products derived from this software - *    without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)getopt.c	8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#ifndef __STDC__ -#define const -#endif -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -/* - * get option letter from argument vector - */ -int	opterr = 1,		/* if error message should be printed */ -	optind = 1,		/* index into parent argv vector */ -	optopt,			/* character checked for validity */ -	optreset;		/* reset getopt */ -char	*optarg;		/* argument associated with option */ - -#define	BADCH	(int)'?' -#define	BADARG	(int)':' -#define	EMSG	"" - -int -getopt(nargc, nargv, ostr) -	int nargc; -	char * const *nargv; -	const char *ostr; -{ -	static char *place = EMSG;		/* option letter processing */ -	char *oli;			/* option letter list index */ -	char *p; - -	if (optreset || !*place) {		/* update scanning pointer */ -		optreset = 0; -		if (optind >= nargc || *(place = nargv[optind]) != '-') { -			place = EMSG; -			return(-1); -		} -		if (place[1] && *++place == '-') {	/* found "--" */ -			++optind; -			place = EMSG; -			return(-1); -		} -	}					/* option letter okay? */ -	if ((optopt = (int)*place++) == (int)':' || -	    !(oli = strchr(ostr, optopt))) { -		/* -		 * if the user didn't specify '-' as an option, -		 * assume it means -1 (EOF). -		 */ -		if (optopt == (int)'-') -			return(-1); -		if (!*place) -			++optind; -		if (opterr && *ostr != ':') { -			if (!(p = strrchr(*nargv, '/'))) -				p = *nargv; -			else -				++p; -			fprintf(stderr, "%s: illegal option -- %c\n", -			    p, optopt); -		} -		return(BADCH); -	} -	if (*++oli != ':') {			/* don't need argument */ -		optarg = NULL; -		if (!*place) -			++optind; -	} -	else {					/* need an argument */ -		if (*place)			/* no white space */ -			optarg = place; -		else if (nargc <= ++optind) {	/* no arg */ -			place = EMSG; -			if (!(p = strrchr(*nargv, '/'))) -				p = *nargv; -			else -				++p; -			if (*ostr == ':') -				return(BADARG); -			if (opterr) -				fprintf(stderr, -				    "%s: option requires an argument -- %c\n", -				    p, optopt); -			return(BADCH); -		} -	 	else				/* white space */ -			optarg = nargv[optind]; -		place = EMSG; -		++optind; -	} -	return(optopt);				/* dump back option letter */ -} | 
