most changes supplied by mlelstv@NetBSD.org (Michael van Elst) patch to src/rpsl/rpsl/rptype.cc supplied by he@NetBSD.org (Havard Eidnes) also fixes PR pkg/36807
35 lines
1.1 KiB
Text
35 lines
1.1 KiB
Text
$NetBSD: patch-dh,v 1.1 2007/09/07 21:26:34 spz Exp $
|
|
|
|
--- src/rpsl/rpsl/rpsl.l.orig 2006-10-01 13:23:32.000000000 +0200
|
|
+++ src/rpsl/rpsl/rpsl.l
|
|
@@ -74,7 +74,7 @@ INT [[:digit:]]+
|
|
SINT [+-]?{INT}
|
|
REAL [+-]?{INT}?\.{INT}({WS}*E{WS}*[+-]?{INT})?
|
|
NAME [[:alpha:]]([[:alnum:]_-]*[[:alnum:]])?
|
|
-ASNO AS{INT}
|
|
+ASNO AS{INT}\.{INT}|AS{INT}
|
|
ASNAME AS-[[:alnum:]_-]*[[:alnum:]]
|
|
RSNAME RS-[[:alnum:]_-]*[[:alnum:]]
|
|
RTRSNAME RTRS-[[:alnum:]_-]*[[:alnum:]]
|
|
@@ -455,7 +455,11 @@ extern void atollRA(...);
|
|
|
|
/* The order of these rules are important */
|
|
{ASNO} {
|
|
- yylval.i = atoi(yytext+2);
|
|
+ const char *dot = strchr(yytext,'.');
|
|
+ if (dot)
|
|
+ yylval.i = atoi(yytext+2)<<16 | atoi(dot+1);
|
|
+ else
|
|
+ yylval.i = atoi(yytext+2);
|
|
LEXER_RETURN(TKN_ASNO);
|
|
}
|
|
|
|
@@ -751,7 +755,7 @@ void yy_scan_object(Object *o) {
|
|
|
|
if (rpsl_buffer)
|
|
yy_delete_buffer(rpsl_buffer);
|
|
- rpsl_buffer = yy_scan_bytes(o->contents, o->size);
|
|
+ rpsl_buffer = yy_scan_bytes(o->contents, (yy_size_t)o->size);
|
|
BEGIN(INITIAL);
|
|
}
|
|
|