mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-14 09:11:27 +00:00
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1286 d57e44dd-8a1f-0410-8b47-8ef2f437770f
28 lines
660 B
Awk
Executable File
28 lines
660 B
Awk
Executable File
#!/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
|
|
}
|