summaryrefslogtreecommitdiff
path: root/textpre.awk
diff options
context:
space:
mode:
authorIIMarckus <iimarckus@gmail.com>2011-12-17 00:48:24 -0700
committerIIMarckus <iimarckus@gmail.com>2011-12-17 00:48:24 -0700
commit98a00bc02584af9e08d39cc3d6a6d0cded993743 (patch)
tree09609da2efb2308716857bded8c0cecd63d68666 /textpre.awk
parent89d8ad4fd2b4a715775f2007b0132388a164a05e (diff)
Don’t rebuild the character table every line.
This change halves execution time on my machine. hg-commit-id: aa8e5c92d38c
Diffstat (limited to 'textpre.awk')
-rw-r--r--textpre.awk19
1 files changed, 10 insertions, 9 deletions
diff --git a/textpre.awk b/textpre.awk
index a3192ab2..464741c5 100644
--- a/textpre.awk
+++ b/textpre.awk
@@ -1,15 +1,6 @@
BEGIN {
FS = "\""
-}
-
-# skip lines that actually do use ASCII in quotes
-tolower($1) ~ /section/ ||
-tolower($1) ~ /include/ ||
-tolower($1) ~ /incbin/
-!(tolower($1) ~ /section/ || tolower($1) ~ /include/ || tolower($1) ~ /incbin/) {
-i = 1
-ORS = ""
char[" "] = "$7F"
char["A"] = "$80"
char["B"] = "$81"
@@ -80,6 +71,16 @@ char["6"] = "$FC"
char["7"] = "$FD"
char["8"] = "$FE"
char["9"] = "$FF"
+}
+
+# skip lines that actually do use ASCII in quotes
+tolower($1) ~ /section/ ||
+tolower($1) ~ /include/ ||
+tolower($1) ~ /incbin/
+
+!(tolower($1) ~ /section/ || tolower($1) ~ /include/ || tolower($1) ~ /incbin/) {
+i = 1
+ORS = ""
while (i <= NF) {
if (i % 2 == 1)