26 lines
829 B
Plaintext
Executable File
26 lines
829 B
Plaintext
Executable File
:
|
|
# create macro calls for all defines in the file
|
|
|
|
# src/tools/pginclude/pgdefine
|
|
|
|
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_]*\)[ ][ ]*[^ ].*\\\\$/\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' |
|
|
sed 's/,[a-zA-Z0-9_ ]*)/,0)/g' |
|
|
# do not cast 'return' macros as (void)
|
|
sed 's/(=void)\(.*return\)/\1/g' |
|
|
sed 's/(=void)\(.*RETURN\)/\1/g' |
|
|
sed 's/(=void)/(void)/g'
|
|
done
|