]> git.draconx.ca Git - dxcommon.git/blobdiff - scripts/gen-strtab.awk
gen-strtab.awk: Work around AIX substitution bug.
[dxcommon.git] / scripts / gen-strtab.awk
index 56f0807998c9fe2fbe527fb1a31f82b9d047a3ef..2a56fd65a52e7324a6c56928cc9d64578457cb9f 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/awk -f
 #
-# Copyright © 2021, 2023 Nick Bowler
+# Copyright © 2021, 2023-2024 Nick Bowler
 #
 # Generate a C string table based on an input string specification file.
 #
@@ -207,25 +207,25 @@ END {
 # strings[ident] = val.
 function finish_string_input(strings, ident, val, n, tmpval)
 {
-  gsub(/\\\\/, "\1", val);
+  gsub(/\\\\/, "\2", val);
   if (endline > startline)
     val = val "\n";
   gsub(/\\\n/, "", val);
 
   tmpval = ""
   while ((n = match(val, /\\[^abtnvfr]/)) > 0) {
-    tmpval = tmpval substr(val, 1, n-1)
-    val = substr(val, n+1)
+    tmpval = tmpval substr(val, 1, n-1);
+    val = substr(val, n+1);
   }
-  tmpval = tmpval val
+  tmpval = tmpval val;
 
   # Escape special characters
-  gsub(/"/,  bs"\"", tmpval)
-  gsub(/\t/, bs"t", tmpval)
-  gsub(/\n/, bs"n", tmpval)
-  gsub("\1", bs bs, tmpval)
+  gsub(/"/,  bs"\"", tmpval);
+  gsub(/\t/, bs"t", tmpval);
+  gsub(/\n/, bs"n", tmpval);
+  gsub("\2", bs bs, tmpval);
 
-  strings[ident] = tmpval
+  strings[ident] = tmpval;
   if (!current_l10n) {
     nol10n[tmpval] = 1;
   }