#!/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