summaryrefslogtreecommitdiff
path: root/usr.sbin/ospfd/parse.y
diff options
context:
space:
mode:
authorHenning Brauer <henning@cvs.openbsd.org>2008-10-17 13:02:56 +0000
committerHenning Brauer <henning@cvs.openbsd.org>2008-10-17 13:02:56 +0000
commit45f296784ba92c17537efc10eda48d303d944131 (patch)
tree6387292e494fa63e396905211071022c7143d658 /usr.sbin/ospfd/parse.y
parentb889f56217d8ef61344301ca2e47dcc23ef9af93 (diff)
bring in the findeol() fix from pfctl. list of affected parsers by sthen
Diffstat (limited to 'usr.sbin/ospfd/parse.y')
-rw-r--r--usr.sbin/ospfd/parse.y8
1 files changed, 5 insertions, 3 deletions
diff --git a/usr.sbin/ospfd/parse.y b/usr.sbin/ospfd/parse.y
index d4e8f0fe247..cc075c5f148 100644
--- a/usr.sbin/ospfd/parse.y
+++ b/usr.sbin/ospfd/parse.y
@@ -1,4 +1,4 @@
-/* $OpenBSD: parse.y,v 1.61 2008/02/26 10:09:58 mpf Exp $ */
+/* $OpenBSD: parse.y,v 1.62 2008/10/17 13:02:55 henning Exp $ */
/*
* Copyright (c) 2004, 2005 Esben Norby <norby@openbsd.org>
@@ -766,11 +766,13 @@ findeol(void)
int c;
parsebuf = NULL;
- pushback_index = 0;
/* skip to either EOF or the first real EOL */
while (1) {
- c = lgetc(0);
+ if (pushback_index)
+ c = pushback_buffer[--pushback_index];
+ else
+ c = lgetc(0);
if (c == '\n') {
file->lineno++;
break;