diff options
author | Marco Pfatschbacher <mpf@cvs.openbsd.org> | 2007-11-12 23:59:42 +0000 |
---|---|---|
committer | Marco Pfatschbacher <mpf@cvs.openbsd.org> | 2007-11-12 23:59:42 +0000 |
commit | aa82c35307ac93f9f8516d4168a7cb0e7eaf56c4 (patch) | |
tree | 4c64e3b6fb9c0de041ee36807ace3f83cca007f0 /usr.sbin/hoststated | |
parent | eb8064cb59bbaeb4315946b2f188364a7061bd29 (diff) |
Remove space/tab compression function from lgetc() and replace
it with a simple filter in the yylex() loop.
The compression in lgetc() didn't happen for quoted strings,
thus creating a regression when tabs were used in variables.
Some testing by todd@ and pyr@
OK deraadt@
Diffstat (limited to 'usr.sbin/hoststated')
-rw-r--r-- | usr.sbin/hoststated/parse.y | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/usr.sbin/hoststated/parse.y b/usr.sbin/hoststated/parse.y index d019a4449ee..0f79c9f52bd 100644 --- a/usr.sbin/hoststated/parse.y +++ b/usr.sbin/hoststated/parse.y @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.y,v 1.76 2007/11/04 18:47:17 claudio Exp $ */ +/* $OpenBSD: parse.y,v 1.77 2007/11/12 23:59:41 mpf Exp $ */ /* * Copyright (c) 2006 Pierre-Yves Ritschard <pyr@openbsd.org> @@ -1324,14 +1324,6 @@ lgetc(int quotec) yylval.lineno = file->lineno; file->lineno++; } - if (c == '\t' || c == ' ') { - /* Compress blanks to a single space. */ - do { - c = getc(file->stream); - } while (c == '\t' || c == ' '); - ungetc(c, file->stream); - c = ' '; - } while (c == EOF) { if (popfile() == EOF) @@ -1388,7 +1380,7 @@ yylex(void) top: p = buf; - while ((c = lgetc(0)) == ' ') + while ((c = lgetc(0)) == ' ' || c == '\t') ; /* nothing */ yylval.lineno = file->lineno; |