summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/aparser/token.awk25
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);