summaryrefslogtreecommitdiffstats
path: root/source/aparser
diff options
context:
space:
mode:
authorChristopher R. Hertel <crh@samba.org>2000-07-15 20:57:24 +0000
committerChristopher R. Hertel <crh@samba.org>2000-07-15 20:57:24 +0000
commit34f69f09f840b8990b718e8585785e2a6ad7c314 (patch)
tree32b439fea5e3c7c0204de7e9f32f517f4b6f2533 /source/aparser
parentf8509356178deb7e78836d1f5aceb96677ac738b (diff)
downloadsamba-34f69f09f840b8990b718e8585785e2a6ad7c314.tar.gz
samba-34f69f09f840b8990b718e8585785e2a6ad7c314.tar.xz
samba-34f69f09f840b8990b718e8585785e2a6ad7c314.zip
I committed this change to the cliffs archive a while back and have heard
no complaints. ;) Basically, instead of ignoring single-line C-style comments in IDL source files this change allows token.awk to ignore both single- and multi-line C-style comments. Chris -)-----
Diffstat (limited to 'source/aparser')
-rw-r--r--source/aparser/token.awk25
1 files changed, 20 insertions, 5 deletions
diff --git a/source/aparser/token.awk b/source/aparser/token.awk
index 25ac06f6e32..fb2982f0777 100644
--- a/source/aparser/token.awk
+++ b/source/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);