summaryrefslogtreecommitdiff
path: root/usr/src/lib/libpp/common/ppcontrol.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libpp/common/ppcontrol.c')
-rw-r--r--usr/src/lib/libpp/common/ppcontrol.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/usr/src/lib/libpp/common/ppcontrol.c b/usr/src/lib/libpp/common/ppcontrol.c
index fff96641f3..10fb841965 100644
--- a/usr/src/lib/libpp/common/ppcontrol.c
+++ b/usr/src/lib/libpp/common/ppcontrol.c
@@ -1,7 +1,7 @@
/***********************************************************************
* *
* This software is part of the ast package *
-* Copyright (c) 1986-2008 AT&T Intellectual Property *
+* Copyright (c) 1986-2009 AT&T Intellectual Property *
* and is licensed under the *
* Common Public License, Version 1.0 *
* by AT&T Intellectual Property *
@@ -450,6 +450,7 @@ ppcontrol(void)
}
pp.state &= ~DISABLE;
pp.state |= HEADER|STRIP;
+ pp.in->flags |= IN_noguard;
switch (c = pplex())
{
case T_STRING:
@@ -1468,11 +1469,12 @@ ppcontrol(void)
{
case T_STRING:
s = error_info.file;
- if (*(p = pp.token)) pathcanon(p, 0);
+ if (*(p = pp.token))
+ pathcanon(p, 0);
fp = ppsetfile(p);
error_info.file = fp->name;
if (error_info.line == 1)
- ppmultiple(fp, INC_TEST);
+ ppmultiple(fp, INC_IGNORE);
switch (c = pplex())
{
case '\n':
@@ -1953,8 +1955,8 @@ ppcontrol(void)
break;
case X_MULTIPLE:
n = 1;
- if (pp.in->type == IN_FILE)
- ppmultiple(ppsetfile(error_info.file), i0 ? INC_CLEAR : INC_TEST);
+ if (pp.in->type == IN_FILE || pp.in->type == IN_RESCAN)
+ ppmultiple(ppsetfile(error_info.file), i0 ? INC_CLEAR : INC_IGNORE);
break;
case X_NATIVE:
setoption(NATIVE, i0);