From ac5f11e0ec23e70a5749c5caee890f0b9addfc85 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: 2011年8月26日 13:09:39 -0400 Subject: [PATCH] Fix #if blocks. --- src/tools/pginclude/pgrminclude | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/tools/pginclude/pgrminclude b/src/tools/pginclude/pgrminclude index e0173fdc5f2..0f0e10b8998 100755 --- a/src/tools/pginclude/pgrminclude +++ b/src/tools/pginclude/pgrminclude @@ -11,19 +11,18 @@ grep -v '\./pg_config.h' | grep -v '\./c.h' | while read FILE do - # Skip files with #if and #ifdef blocks because the blocks - # might contain code that is not compiled on this platform. - grep -q '^#if' "$FILE" && continue - if [ `expr $FILE : '.*\.h$'` -ne 0 ] then IS_INCLUDE="Y" else IS_INCLUDE="N" fi # loop through all includes - cat "$FILE" | grep "^#include" | + cat "$FILE" | + grep "^#include\>" | grep -v '/\* *pgrminclude *ignore *\*/' | sed 's/^#include[ ]*[<"]\([^>"]*\).*$/1円/g' | + grep -v 'parser/kwlist\.h' | + grep -v '\.c$' | while read INCLUDE do if [ "1ドル" = "-v" ] @@ -43,12 +42,18 @@ do grep -A1 '^#include[ ][ ]*[<"]'"$include"'[>"]' "$FILE" | egrep -q '^#else|^#endif' && continue - # remove defines from include files + # Remove all #if and #ifdef blocks because the blocks + # might contain code that is not compiled on this platform. + cat "$FILE" | + grep -v "^#if" | + grep -v "^#else" | + grep -v "^#endif" | if [ "$IS_INCLUDE" = "Y" ] - then cat "$FILE" | grep -v "^#if" | grep -v "^#else" | - grep -v "^#endif" | sed 's/->[a-zA-Z0-9_\.]*//g'>/tmp/$$a - else cat "$FILE">/tmp/$$a - fi + then # remove struct references +# sed 's/->[a-zA-Z0-9_\.]*//g' + cat + else cat + fi>/tmp/$$a # set up initial file contents grep -v '^#include[ ][ ]*[<"]'"$include"'[>"]' \ -- 2.39.5

AltStyle によって変換されたページ (->オリジナル) /