blob: 87def60fdfbbc14532d366db82adb98db0e077b0 [file] [log] [blame]
#!/bin/gawk -f
# awk script that reads a patch from stdin and prints all #define statements
# that match the following patttern:
# +#ifndef <symbol>
# +#define <symbol> <text>
# +#endif
BEGIN {
previous_is_ifndef = 0
symbol = ""
}
{
is_ifndef = match($0, "^+#ifndef (.*)$", a)
if (is_ifndef)
symbol = a[1]
is_define = previous_is_ifndef && match($0, "^+#define " + symbol)
if (is_define)
define = $0
is_endif = match($0, "^+#endif$")
if (before_previous_is_ifndef && previous_is_define && is_endif)
print define
before_previous_is_ifndef = previous_is_ifndef
previous_is_ifndef = is_ifndef
previous_is_define = is_define
}