summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian2006-07-13 16:39:20 +0000
committerBruce Momjian2006-07-13 16:39:20 +0000
commit51ad23769bef15b498a994bc982c97db67c67fee (patch)
tree04a60a6960149ffad1f37bb237ffc0fae36c2f74
parent308745993763f68d45b16ec9be9ae9075002eb9b (diff)
Improve pginclude tools to process include file usage by other include files.
-rwxr-xr-xsrc/tools/pginclude/pgdefine9
-rwxr-xr-xsrc/tools/pginclude/pgrminclude2
2 files changed, 9 insertions, 2 deletions
diff --git a/src/tools/pginclude/pgdefine b/src/tools/pginclude/pgdefine
index b2127b0d6f..19a4230365 100755
--- a/src/tools/pginclude/pgdefine
+++ b/src/tools/pginclude/pgdefine
@@ -7,8 +7,13 @@ trap "rm -f /tmp/$$" 0 1 2 3 15
for FILE
do
cat "$FILE" | grep "^#define" >/tmp/$$
- cat /tmp/$$ | sed -n 's/^#define[ ][ ]*\([a-zA-Z0-9_]*\)[ ][ ]*[^ ].*$/(void)\1;/p'
- cat /tmp/$$ | sed -n 's/^#define[ ][ ]*\([a-zA-Z0-9_]*([^)]*)\).*$/(=void)\1;/p' |
+ cat /tmp/$$ | sed -n 's/^#define[ ][ ]*\([a-zA-Z0-9_]*\)[ ][ ]*[^ ].*\\\\$/\1;/p'
+ cat /tmp/$$ | sed -n 's/^#define[ ][ ]*\([a-zA-Z0-9_]*\)[ ][ ]*[^ ].*[^\\\\]$/(void)\1;/p'
+
+ (
+ cat /tmp/$$ | sed -n 's/^#define[ ][ ]*\([a-zA-Z0-9_]*([^)]*)\).*\\\\$/\1;/p'
+ cat /tmp/$$ | sed -n 's/^#define[ ][ ]*\([a-zA-Z0-9_]*([^)]*)\).*[^\\\\]$/(=void)\1;/p'
+ ) |
sed 's/([a-zA-Z0-9_ ][a-zA-Z0-9_ ]*)/(0)/g' |
sed 's/([a-zA-Z0-9_ ]*,/(0,/g' |
sed 's/,[a-zA-Z0-9_ ]*,/,0,/g' |
diff --git a/src/tools/pginclude/pgrminclude b/src/tools/pginclude/pgrminclude
index 1421015595..86f4d3f966 100755
--- a/src/tools/pginclude/pgrminclude
+++ b/src/tools/pginclude/pgrminclude
@@ -71,6 +71,8 @@ do
cat /tmp/$$b
cat /tmp/$$.c
fi
+ grep -v '^#include[ ][ ]*[<"]'"$INCLUDE"'[>"]' \
+ "$FILE" >/tmp/$$b
mv /tmp/$$b "$FILE"
fi
done