X-Git-Url: https://git.draconx.ca/gitweb/dxcommon.git/blobdiff_plain/95d8e7745d9b00097d50d9903d62c48268324e7a..c2851601e2026f36593e985d302def59eba26c17:/scripts/gen-strtab.awk?ds=sidebyside diff --git a/scripts/gen-strtab.awk b/scripts/gen-strtab.awk index c5b02c6..beacad6 100755 --- a/scripts/gen-strtab.awk +++ b/scripts/gen-strtab.awk @@ -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