diff options
author | kris <kris@FreeBSD.org> | 2000-07-05 11:12:53 +0000 |
---|---|---|
committer | kris <kris@FreeBSD.org> | 2000-07-05 11:12:53 +0000 |
commit | 66c44f6a43c480b0d382669a98d5f7383b195917 (patch) | |
tree | 35956130ae6891a3db36f818c883066d5a14b77f /usr.sbin/rrenumd/lexer.l | |
parent | 4bf2ee28177f0ea34186c988894ee9ad966de5e4 (diff) | |
download | FreeBSD-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.l | 18 |
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, |