mirror of
https://github.com/uutils/coreutils.git
synced 2026-06-10 15:48:22 -07:00
Merge pull request #1296 from rkuslak/master
Fix comparison of empty string to numeric f64 sort
This commit is contained in:
+9
-5
@@ -383,11 +383,15 @@ fn permissive_f64_parse(a: &str) -> f64 {
|
||||
// because there's no way to handle both CSV and thousands separators without a new flag.
|
||||
// GNU sort treats "1,234" as "1" in numeric, so maybe it's fine.
|
||||
// GNU sort treats "NaN" as non-number in numeric, so it needs special care.
|
||||
let sa: &str = a.split_whitespace().next().unwrap();
|
||||
match sa.parse::<f64>() {
|
||||
Ok(a) if a.is_nan() => std::f64::NEG_INFINITY,
|
||||
Ok(a) => a,
|
||||
Err(_) => std::f64::NEG_INFINITY,
|
||||
match a.split_whitespace().next() {
|
||||
None => std::f64::NEG_INFINITY,
|
||||
Some(sa) => {
|
||||
match sa.parse::<f64>() {
|
||||
Ok(a) if a.is_nan() => std::f64::NEG_INFINITY,
|
||||
Ok(a) => a,
|
||||
Err(_) => std::f64::NEG_INFINITY,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user