diff options
Diffstat (limited to 'test/sortu.awk')
-rw-r--r-- | test/sortu.awk | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/test/sortu.awk b/test/sortu.awk index b4d30138..508dc07f 100644 --- a/test/sortu.awk +++ b/test/sortu.awk @@ -16,8 +16,12 @@ function comp_idx_num(s1, v1, s2, v2) } # ascending value number -function comp_val_num(s1, v1, s2, v2) +function comp_val_num(s1, v1, s2, v2, num) { + num = "^[-+]?([0-9]+[.]?[0-9]*|[.][0-9]+)([eE][-+]?[0-9]+)?$" + # force stable sort, compare as strings if not numeric + if ((v1 - v2) == 0 && (v1 !~ num || v2 !~ num)) + return comp_val_str(s1, v1, s2, v2) return (v1 - v2) } |