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