diff --git a/app/xrdb-cpp/cpp.c b/app/xrdb-cpp/cpp.c index 7cdc358ca..f79abd5e9 100644 --- a/app/xrdb-cpp/cpp.c +++ b/app/xrdb-cpp/cpp.c @@ -115,6 +115,7 @@ void ucpp_error(long line, char *fmt, ...) freemem(sc); } va_end(ap); + exit(1); } /* @@ -2418,6 +2419,8 @@ static int parse_opt(int argc, char *argv[], struct lexer_state *ls) ls->flags &= ~FAIL_SHARP; } else if (!strcmp(argv[i], "-l")) { ls->flags &= ~LINE_NUM; + } else if (!strcmp(argv[i], "-P")) { + ls->flags &= ~LINE_NUM; } else if (!strcmp(argv[i], "-lg")) { ls->flags |= GCC_LINE_NUM; } else if (!strcmp(argv[i], "-M")) { diff --git a/app/xrdb-cpp/xrdb-cpp.1 b/app/xrdb-cpp/xrdb-cpp.1 index c6c305150..caad6c579 100644 --- a/app/xrdb-cpp/xrdb-cpp.1 +++ b/app/xrdb-cpp/xrdb-cpp.1 @@ -27,7 +27,7 @@ keep comments in the output. if a rogue '#' is encountered, do not emit an error and keep it in the output. .TP -.BI \-l +.B \-l, \-P supress the emission of '#line' directives in the output. .TP .BI \-lg