summaryrefslogtreecommitdiffstats
path: root/usr.sbin/rrenumd/lexer.l
diff options
context:
space:
mode:
authorkris <kris@FreeBSD.org>2000-07-05 11:12:53 +0000
committerkris <kris@FreeBSD.org>2000-07-05 11:12:53 +0000
commit66c44f6a43c480b0d382669a98d5f7383b195917 (patch)
tree35956130ae6891a3db36f818c883066d5a14b77f /usr.sbin/rrenumd/lexer.l
parent4bf2ee28177f0ea34186c988894ee9ad966de5e4 (diff)
downloadFreeBSD-src-66c44f6a43c480b0d382669a98d5f7383b195917.zip
FreeBSD-src-66c44f6a43c480b0d382669a98d5f7383b195917.tar.gz
Sync with latest KAME.
Obtained from: KAME
Diffstat (limited to 'usr.sbin/rrenumd/lexer.l')
-rw-r--r--usr.sbin/rrenumd/lexer.l18
1 files changed, 17 insertions, 1 deletions
diff --git a/usr.sbin/rrenumd/lexer.l b/usr.sbin/rrenumd/lexer.l
index 80429af..d906b0c 100644
--- a/usr.sbin/rrenumd/lexer.l
+++ b/usr.sbin/rrenumd/lexer.l
@@ -1,3 +1,5 @@
+/* $KAME$ */
+
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
* All rights reserved.
@@ -37,16 +39,21 @@
#include <string.h>
#include <net/if.h>
+#if defined(__FreeBSD__) && __FreeBSD__ >= 3
#include <net/if_var.h>
+#endif /* __FreeBSD__ >= 3 */
#include <netinet/in.h>
#include <netinet/in_var.h>
#include <netinet/icmp6.h>
+
+#include <arpa/inet.h>
+
#include "y.tab.h"
int lineno = 1;
-#define LINEBUF_SIZE 1000
+#define LINEBUF_SIZE 1000
char linebuf[LINEBUF_SIZE];
%}
@@ -209,6 +216,15 @@ off {
yylval.cs.len = yyleng;
return NAME;
}
+{ipv4addr} {
+ memset(&yylval.addr4, 0, sizeof(struct in_addr));
+ if (inet_pton(AF_INET, yytext,
+ &yylval.addr4) == 1) {
+ return IPV4ADDR;
+ } else {
+ return ERROR;
+ }
+ }
{ipv6addr} {
memset(&yylval.addr6, 0, sizeof(struct in6_addr));
if (inet_pton(AF_INET6, yytext,
OpenPOWER on IntegriCloud