#!/bin/sh | |
# This script attempts to find bad ifdef's, i.e. ifdef's that use braces | |
# but not the do { ... } while (0) syntax | |
# | |
# src/tools/find_badmacros | |
# | |
# This is useful for running before pgindent | |
for FILE | |
do | |
awk ' BEGIN {was_define = "N"} | |
{ if (was_define == "Y" && | |
$0 ~ /^{/) | |
printf "%s %d\n", FILENAME, NR | |
if ($0 ~ /^#define/) | |
was_define = "Y" | |
else | |
was_define = "N" | |
}' "$FILE" | |
grep -on '^#define.*{' "$FILE" | grep -v 'do[ ]*{' | |
done |