aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSyndamia <kamen@syndamia.com>2023-11-23 09:33:09 +0200
committerSyndamia <kamen@syndamia.com>2023-11-23 09:33:09 +0200
commit87780bde959a8740ba7241faecced7aeb771ee12 (patch)
tree67bf82786dcdac50ff5702abeda0286088fdc6ed
parent66deac2a1ddc3bebff73a76752e18f9933391661 (diff)
downloadcsma-87780bde959a8740ba7241faecced7aeb771ee12.tar
csma-87780bde959a8740ba7241faecced7aeb771ee12.tar.gz
csma-87780bde959a8740ba7241faecced7aeb771ee12.zip
[preproc] Proper macro name handling on stage2 macro match
-rw-r--r--preproc.awk11
1 files changed, 8 insertions, 3 deletions
diff --git a/preproc.awk b/preproc.awk
index 962c36d..4eb1718 100644
--- a/preproc.awk
+++ b/preproc.awk
@@ -163,9 +163,14 @@ stage2 && gotNameOnly {
stage2 && /^[[:blank:]]*<[^>]*>/ {
match($0, /<[^>]*>/)
- macroName = substr($0, RSTART, RLENGTH)
- if ($0 ~ "{") depth = 1
- else gotNameOnly = 1
+ if ($0 ~ "{") {
+ macroName = ""
+ depth = gsub("{", "{") - gsub("}", "}")
+ }
+ else {
+ macroName = substr($0, RSTART, RLENGTH)
+ gotNameOnly = 1
+ }
next
}