Nicolas Boichat
1d7e0eccc8
uucore: parser: num_parser: Do not Underflow/Overflow when parsing 0
...
Values like 0e18172487393827593258 and 0e-18172487393827593258 should
just be parsed as 0, and do not need to return an error.
2025-04-04 18:12:11 +02:00
Nicolas Boichat
94a26e170e
uucore: parser: parse_time: Handle infinity and nan
...
There were some missing corner cases when handling infinity and
nan:
- inf/infinity can be capitalized
- nan must always be rejected, even if a suffix is provided
Also, return Duration::MAX with infinite values, just for consistency
(num.fract() returns 0 for infinity so technically we were just
short of that).
Add unit tests too.
Fixes some of #7475 .
2025-04-04 18:12:11 +02:00
Daniel Hofstetter
b860ce8553
Merge pull request #7650 from drinkcat/seq-trim-fix
...
seq: Trim whitespaces, then try to remove +
2025-04-04 17:57:09 +02:00
Nicolas Boichat
e0a6482759
seq: Trim whitespaces, then try to remove +
...
Otherwise, `seq` crashes with ` 0xee.` as input.
Also update one of the tests to catch that.
2025-04-04 17:09:33 +02:00
Daniel Hofstetter
bec2cb65b2
Merge pull request #7652 from uutils/renovate/ctrlc-3.x-lockfile
...
chore(deps): update rust crate ctrlc to v3.4.6
2025-04-04 17:01:55 +02:00
renovate[bot]
2564c5acf3
chore(deps): update rust crate ctrlc to v3.4.6
2025-04-04 14:24:20 +00:00
Daniel Hofstetter
22c7e1d0b6
Merge pull request #7647 from drinkcat/uucore-feature-parser
...
uucore: Move extendedbigdecimal and parsers to 2 separate features
2025-04-04 16:23:05 +02:00
Nicolas Boichat
6243dd5494
uucore: Move parser to a feature
...
This will eventually be needed as we'll want parse_time to
call into num_parser, which was previously contained in format
feature.
2025-04-04 15:25:06 +02:00
Nicolas Boichat
a937aa5117
uucore: Move extendedbigdecimal to its own feature
...
This will be needed later on so that we can split format and
parse features.
2025-04-04 14:12:51 +02:00
Sylvestre Ledru
97fb15b02d
Merge pull request #7646 from drinkcat/seq-w-f
...
seq: Do not allow -w and -f to be specified at the same time
2025-04-04 10:56:47 +02:00
Nicolas Boichat
ae3756b434
seq: Do not allow -w and -f to be specified at the same time
...
Fixes #7466 .
2025-04-04 10:17:17 +02:00
Daniel Hofstetter
d6cf38ff3f
Merge pull request #7644 from uutils/renovate/zip-2.x-lockfile
...
chore(deps): update rust crate zip to v2.6.0
2025-04-04 07:06:12 +02:00
renovate[bot]
e0078c169b
chore(deps): update rust crate zip to v2.6.0
2025-04-03 22:03:26 +00:00
Daniel Hofstetter
10a4dcb04d
Merge pull request #7624 from drinkcat/parse-bigdecimal-seq
...
seq: Move to uucore/format common number parsing code
2025-04-03 18:55:55 +02:00
Nicolas Boichat
04a12820bb
seq: Simplify leading + handling
...
Address review comment.
2025-04-03 17:26:38 +02:00
Nicolas Boichat
27efb9eff4
seq: Parse integral and fractional number of digits in the same function
...
A lot of the code can be shared, and parsing is quite straightforward
as we know that the digit is somewhat valid.
2025-04-03 17:26:38 +02:00
Nicolas Boichat
77d66bab47
seq: Refactor to actually use PreciseNumber::num_fractional_digits
...
The field was unused, and actually redundant with the precision
computed separatedly.
This simplifies the code, reintroduces testing.
2025-04-03 17:26:38 +02:00
Nicolas Boichat
84e5ee4b86
seq: Accept underflow in parameters
...
Also, add a test to check that a very, very, small number is
treated as 0. That's probably undefined behaviour, but it does
make some sense.
2025-04-03 17:26:38 +02:00
Nicolas Boichat
686f1c7841
seq: Remove custom number parsing
...
Just use the format provided function.
2025-04-03 17:26:38 +02:00
Nicolas Boichat
d58f1cc0f1
test_seq: Modify undefined behaviour tests
...
GNU `seq` doesn't support such large positive exponents anyway,
and we are limited by i64 range, so increase the exponent value
to make sure we fully overflow that range.
Also, add a test to check that a very, very, small number is
treated as 0 (that's also undefined behaviour, but it does
make sense in a way).
2025-04-03 17:26:38 +02:00
Sylvestre Ledru
2cfed639d3
Merge pull request #7640 from cakebaker/clippy_fix_warnings_from_rust_1_86
...
clippy: fix warnings from Rust 1.86
2025-04-03 16:38:07 +02:00
Daniel Hofstetter
293554e358
yes: fix error from manual_repeat_n lint
2025-04-03 15:38:06 +02:00
Daniel Hofstetter
5ab4968721
dd: fix "unused import" warning in test
2025-04-03 14:27:43 +02:00
Daniel Hofstetter
59d7866dcf
uutests: fix clippy errors
...
from doc_overindented_list_items lint
2025-04-03 14:25:51 +02:00
Daniel Hofstetter
a8a43f73b0
clippy: fix errors from unnecessary_semicolon lint
2025-04-03 14:24:16 +02:00
Daniel Hofstetter
7eb267ddcd
Merge pull request #7639 from uutils/renovate/blake3-1.x-lockfile
...
chore(deps): update rust crate blake3 to v1.8.1
2025-04-03 09:41:49 +02:00
Daniel Hofstetter
7af2c94678
Merge pull request #7636 from karlmcdowall/cat_find_a_bug_fix_a_bug
...
cat: bugfix when running with -T option
2025-04-03 09:35:09 +02:00
renovate[bot]
b6d94a9c9c
chore(deps): update rust crate blake3 to v1.8.1
2025-04-03 07:08:17 +00:00
Karl McDowall
a4b621ad8a
cat: bugfix when running with -T option
...
Fixes an crash seen when running with -T option if no newline
is found in a buffer.
Added unit test to validate.
2025-04-02 18:59:27 -06:00
Chandra Kiran G
3a0b43bdf7
df: add thiserror ( #7545 )
...
* refactor: Add thiserror to df
* fix: Try fixing tests
* refactor(df): Move `df` to `thiserror`
* chore(df): Add back comment
* chore: Refactor column.rs correctly
2025-04-02 10:19:19 +02:00
Daniel Hofstetter
dd5517c1ff
Merge pull request #7634 from uutils/sylvestre-patch-5
...
remaining-gnu-error.py: Adjust to the new URL
2025-04-02 07:34:25 +02:00
Sylvestre Ledru
0f4ea79229
remaining-gnu-error.py: Adjust to the new URL
2025-04-01 21:39:01 +02:00
Sylvestre Ledru
48cbcc44f4
Merge pull request #7628 from cakebaker/bump_iana_time_zone
...
Bump `iana-time-zone` & add `windows-core` to skip list
2025-04-01 21:30:32 +02:00
Sylvestre Ledru
cd4d75bfad
Merge pull request #7630 from cakebaker/bump_bigdecimal
...
Bump `bigdecimal` & fix failing test
2025-04-01 21:29:52 +02:00
Sylvestre Ledru
1071847198
Merge pull request #7633 from uutils/renovate/clap-4.x-lockfile
...
chore(deps): update rust crate clap to v4.5.35
2025-04-01 21:28:51 +02:00
renovate[bot]
642b739339
chore(deps): update rust crate clap to v4.5.35
2025-04-01 18:40:14 +00:00
Daniel Hofstetter
60ebace7f2
uucore/format: remove TODOs related to bigdecimal
2025-04-01 17:29:28 +02:00
Daniel Hofstetter
636e4a777b
uucore/format: remove Display impl
...
of ExtendedBigDecimal
2025-04-01 17:08:04 +02:00
Daniel Hofstetter
eaa8332be4
Bump bigdecimal from 0.4.7 to 0.4.8
2025-04-01 15:02:30 +02:00
Dorian Péron
17d81bb9a1
Merge pull request #7623 from drinkcat/parse-bigdecimal-smallfixes
...
uucore: format: Collection of small parser fixes
2025-04-01 12:36:28 +02:00
Dorian Péron
fb165850a4
Merge pull request #7567 from MoSal/faster_sort_n
...
sort: immediately compare whole lines if they parse as numbers
2025-04-01 12:14:29 +02:00
Dorian Péron
e4fa68c57d
Merge pull request #7629 from cakebaker/uptime_fix_unused_import_warning
...
uptime: fix "unused import" warning in test
2025-04-01 12:09:39 +02:00
Nicolas Boichat
bdc8cd12a1
uucore: format: Remove TODO
...
Not much more that can be easily simplified now.
2025-04-01 11:20:17 +02:00
Nicolas Boichat
a46da8d0b9
uucore: format: num_parser: Allow uppercase exponent
...
1E3 and 0x1P3 are acceptable numbers.
Sprinkle uppercase values in the tests.
2025-04-01 11:20:17 +02:00
Nicolas Boichat
16131b8d7b
uucore: format: num_parser: underflow/overflow check
...
When parsing floating point numbers, return errors if we end up
overflowing/underflowing BigDecimal (e.g. with large/small exponents).
2025-04-01 11:20:17 +02:00
Nicolas Boichat
1e104b7ef9
uucore: format: num_parser: Add value to Overflow error
...
When parsing integers, we should still return the min/max value
of the type (depending on the type), and wrap that in the error.
We need to refactor the map function to handle this case better,
and add an extract function to get the value out of an error
(if any).
This fixes the integer part of #7508 .
2025-04-01 11:20:17 +02:00
Nicolas Boichat
9872263a96
uucore: format: Fix i64::MIN printing
...
-i64::MIN overflows i64, so cast to i128 first.
2025-04-01 11:20:17 +02:00
Nicolas Boichat
5bea6ff013
uucore: format: num_parser: Carve out part of parse function
...
We'll need more logic in there.
2025-04-01 11:20:17 +02:00
Nicolas Boichat
0cb37c83b9
uucore: format: num_parser: "infinity" string parsing
...
Not just "inf" is allowed, also "infinity".
2025-04-01 11:20:17 +02:00
Nicolas Boichat
5c06dd580b
uucore: format: extendedbigdecimal: Implement Neg trait
...
This is useful and will simplify some of the parsing logic later.
2025-04-01 11:20:17 +02:00