]> git.draconx.ca Git - dxcommon.git/commitdiff
gen-strtab.awk: Work around parse issue on HP-UX 11.
authorNick Bowler <nbowler@draconx.ca>
Wed, 4 Jan 2023 02:19:09 +0000 (21:19 -0500)
committerNick Bowler <nbowler@draconx.ca>
Wed, 4 Jan 2023 03:03:43 +0000 (22:03 -0500)
HP-UX 11 awk seems to have some issues parsing ! in expressions.
For example:

  % awk 'BEGIN { print 1 + !0 }'
  syntax error The source line is 1.
  The error context is
BEGIN { print 1 + >>>  ! <<< 0 }
  awk: The statement cannot be correctly parsed.
  The source line is 1.

Adding parentheses appers sufficient to avoid the problem:

  % awk 'BEGIN { print 1 + (!0) }'
  2

scripts/gen-strtab.awk

index b91736d0f4985fff7a0bbf9c52ec3fd9379f9c3e..7e3de127972c066aa765bfdc3f882e7e4986d7fb 100755 (executable)
@@ -177,7 +177,7 @@ END {
   for (i = 0; i < num_vars; i++) {
     sep = (i+1) != num_vars ? "," : ""
     s = vars[i]
-    o = offsets[strings[s]] + !opts["zero"]
+    o = offsets[strings[s]] + (!opts["zero"])
     print "\t" s " = " o sep
     if (o > max) {
       max = o