Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/sys/linux/net/nsparser.y')
-rw-r--r--newlib/libc/sys/linux/net/nsparser.y178
1 files changed, 0 insertions, 178 deletions
diff --git a/newlib/libc/sys/linux/net/nsparser.y b/newlib/libc/sys/linux/net/nsparser.y
deleted file mode 100644
index 42f63a8a5..000000000
--- a/newlib/libc/sys/linux/net/nsparser.y
+++ /dev/null
@@ -1,178 +0,0 @@
-%{
-/* $NetBSD: nsparser.y,v 1.3 1999/01/25 00:16:18 lukem Exp $ */
-
-/*-
- * Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Luke Mewburn.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#include <sys/cdefs.h>
-#if defined(LIBC_SCCS) && !defined(lint)
-static char *rcsid =
- "$FreeBSD: src/lib/libc/net/nsparser.y,v 1.3 2002/03/21 22:47:17 obrien Exp $";
-#endif /* LIBC_SCCS and not lint */
-
-#define _NS_PRIVATE
-#include <nsswitch.h>
-#include <stdio.h>
-#include <string.h>
-
-
-static void _nsaddsrctomap(const char *);
-
-static ns_dbt curdbt;
-static ns_src cursrc;
-%}
-
-%union {
- char *str;
- int mapval;
-}
-
-%token NL
-%token SUCCESS UNAVAIL NOTFOUND TRYAGAIN
-%token RETURN CONTINUE
-%token <str> STRING
-
-%type <mapval> Status Action
-
-%%
-
-File
- : /* empty */
- | Lines
- ;
-
-Lines
- : Entry
- | Lines Entry
- ;
-
-Entry
- : NL
- | Database ':' NL
- | Database ':' Srclist NL
- {
- _nsdbtput(&curdbt);
- }
- | error NL
- {
- yyerrok;
- }
- ;
-
-Database
- : STRING
- {
- curdbt.name = yylval.str;
- curdbt.srclist = NULL;
- curdbt.srclistsize = 0;
- }
- ;
-
-Srclist
- : Item
- | Srclist Item
- ;
-
-Item
- : STRING
- {
- cursrc.flags = NS_SUCCESS;
- _nsaddsrctomap($1);
- }
- | STRING '[' { cursrc.flags = NS_SUCCESS; } Criteria ']'
- {
- _nsaddsrctomap($1);
- }
- ;
-
-Criteria
- : Criterion
- | Criteria Criterion
- ;
-
-Criterion
- : Status '=' Action
- {
- if ($3) /* if action == RETURN set RETURN bit */
- cursrc.flags |= $1;
- else /* else unset it */
- cursrc.flags &= ~$1;
- }
- ;
-
-Status
- : SUCCESS { $$ = NS_SUCCESS; }
- | UNAVAIL { $$ = NS_UNAVAIL; }
- | NOTFOUND { $$ = NS_NOTFOUND; }
- | TRYAGAIN { $$ = NS_TRYAGAIN; }
- ;
-
-Action
- : RETURN { $$ = 1L; }
- | CONTINUE { $$ = 0L; }
- ;
-
-%%
-
-static void
-_nsaddsrctomap(elem)
- const char *elem;
-{
- int i, lineno;
- extern int _nsyylineno;
- extern char * _nsyytext;
-
- lineno = _nsyylineno - (*_nsyytext == '\n' ? 1 : 0);
- if (curdbt.srclistsize > 0) {
- if ((strcasecmp(elem, NSSRC_COMPAT) == 0) ||
- (strcasecmp(curdbt.srclist[0].name, NSSRC_COMPAT) == 0)) {
- /* XXX: syslog the following */
- printf("line %d 'compat' used with other sources",
- lineno);
- return;
- }
- }
- for (i = 0; i < curdbt.srclistsize; i++) {
- if (strcasecmp(curdbt.srclist[i].name, elem) == 0) {
- /* XXX: syslog the following */
- printf("%s line %d: duplicate source '%s'",
- lineno, elem);
- return;
- }
- }
- cursrc.name = elem;
- _nsdbtaddsrc(&curdbt, &cursrc);
-}