diff options
-rw-r--r-- | source3/aparser/token.awk | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/source3/aparser/token.awk b/source3/aparser/token.awk index 25ac06f6e3..fb2982f077 100644 --- a/source3/aparser/token.awk +++ b/source3/aparser/token.awk @@ -5,6 +5,26 @@ function parse_error(msg) { exit 1; } +# ignore multi-line C comments. +{ + if (t = index($0, "/*")) { + if (t > 1) + tmp = substr($0, 1, t - 1) + else + tmp = "" + u = index(substr($0, t + 2), "*/") + while (u == 0) { + getline + t = -1 + u = index($0, "*/") + } + if (u <= length($0) - 2) + $0 = tmp substr($0, t + u + 3) + else + $0 = tmp + } +} + # ignore blank lines /^[ \t]*$/ { next; @@ -21,11 +41,6 @@ function parse_error(msg) { next; } -# ignore C comments -/^[ \t]*\/\*.*\*\// { - next; -} - /^[ \t]*module/ { {if (module!="") parse_error("you can only specify one module name");} start_module($2); |