diff -Nurd linux86.old/cpp/cpp.c linux86/cpp/cpp.c --- linux86.old/cpp/cpp.c Sun Aug 11 07:33:57 2002 +++ linux86/cpp/cpp.c Sun Aug 11 20:13:38 2002 @@ -83,7 +83,7 @@ static int if_false = 0; static int if_has_else = 0; static int if_hidden = 0; -static int if_stack = 0; +static unsigned int if_stack = 0; struct arg_store { char * name; @@ -905,6 +905,13 @@ int type; { int ch = 0; + if(if_false && if_hidden) + { + if( type != 3 ) if_hidden++; + do_proc_tail(); + return 0; + } + if( type == 3 ) { if( if_count == 0 )