]> git.draconx.ca Git - dxcommon.git/blobdiff - scripts/gen-strtab.awk
gen-options.awk: Don't pass ERE to split().
[dxcommon.git] / scripts / gen-strtab.awk
index c5b02c6d3840fef82f2bbaa7a9353312b986c95c..beacad6b7c64a1b97ec68e27a6a730602e6cd2ee 100755 (executable)
@@ -111,9 +111,9 @@ sub(/^@/, "", $0) {
 }
 
 sub(/^[&]/, "") {
-  if (ident) {
-    finish_string_input(strings, ident, collected)
-    vars[num_vars++] = ident
+  if (ident != "") {
+    finish_string_input(strings, ident, collected);
+    vars[num_vars++] = ident;
   }
 
   current_l10n = !sub(/^[&]/, "", $1);
@@ -124,7 +124,7 @@ sub(/^[&]/, "") {
   collected = ""
 }
 
-ident {
+ident != "" {
   sub(/^[ \t]*/, "")
   if (collected) {
     collected = collected "\n" $0
@@ -136,7 +136,7 @@ ident {
 }
 
 END {
-  if (ident) {
+  if (ident != "") {
     finish_string_input(strings, ident, collected)
     vars[num_vars++] = ident
   }
@@ -246,25 +246,28 @@ function real_length(s, t)
 # placing them into dst[0] ... dst[n].
 #
 # Returns the number of elements.
-function bucketsort(dst, src, buckets, max, count, i, t)
+function bucketsort(dst, src, max, count, i, t)
 {
+  # Note: ULTRIX 4.5 nawk does not support local array parameters
+  split("", bucketsort_buckets);
+
   for (t in src) {
     i = length(src[t])
     if (i > max) { max = i }
-    buckets[i]++
+    bucketsort_buckets[i]++
   }
 
   for (i = max; i > 0; i--) {
-    if (i in buckets) {
-      t = buckets[i]
-      buckets[i] = count
+    if (i in bucketsort_buckets) {
+      t = bucketsort_buckets[i]
+      bucketsort_buckets[i] = count
       count += t
     }
   }
 
   for (t in src) {
     i = length(t = src[t])
-    dst[buckets[i]++] = t
+    dst[bucketsort_buckets[i]++] = t
   }
 
   return count