diff options
author | Christopher R. Hertel <crh@samba.org> | 2000-07-15 20:57:24 +0000 |
---|---|---|
committer | Christopher R. Hertel <crh@samba.org> | 2000-07-15 20:57:24 +0000 |
commit | 34f69f09f840b8990b718e8585785e2a6ad7c314 (patch) | |
tree | 32b439fea5e3c7c0204de7e9f32f517f4b6f2533 /source/aparser | |
parent | f8509356178deb7e78836d1f5aceb96677ac738b (diff) | |
download | samba-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.awk | 25 |
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); |