Commit graph

800 commits

Author SHA1 Message Date
Samuel Tardieu
5dfeca9ff2 format: %c prints the first character of a string 2024-01-09 00:13:54 +01:00
Sylvestre Ledru
b309d64e78
Merge branch 'main' into issue-5766 2024-01-06 22:55:54 +01:00
Sylvestre Ledru
247f2e55bd
seq: adjust some error messages. GNU's are better (#5798)
* seq: adjust some error messages. GNU's are better
tested by tests/seq/seq.pl

* uucore: remove todo

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-01-06 16:54:29 +01:00
Fabrice Fontaine
9f4330f94c uucore: add support for sparc64
Add support for sparc64 in uucore to avoid the following build failure
with nushell:

error[E0308]: mismatched types
   --> /home/autobuild/autobuild/instance-7/output-1/build/nushell-0.85.0/VENDOR/uucore/src/lib/features/fs.rs:121:16
    |
111 |     pub fn number_of_links(&self) -> u64 {
    |                                      --- expected `u64` because of return type
...
121 |         return self.0.st_nlink;
    |                ^^^^^^^^^^^^^^^ expected `u64`, found `u32`
    |
help: you can convert a `u32` to a `u64`
    |
121 |         return self.0.st_nlink.into();
    |                               +++++++

For more information about this error, try `rustc --explain E0308`.
error: could not compile `uucore` (lib) due to previous error

Fixes:
 - http://autobuild.buildroot.org/results/f9f0287a8e39c65895014ca513ed25071f020add

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2024-01-06 10:26:54 +01:00
Samuel Tardieu
32f0256d7d uucore/num_format: properly display 10ᵖ where p is the precision
`seq --format %.2g 10 10` would display `1` because the precision would
not allow room for the decimal point, and the `0` in `10` would be
trimmed as an insignificant trailing `0`.

This has been fixed by only trimming trailing `0` in the presence of a
decimal point.
2024-01-05 15:40:20 +01:00
Samuel Tardieu
f5179290a6 uucore/num_format: replace saturating_sub by regular subtraction
Using `saturating_sub()` before converting to `usize` gives a wrong
feeling of security as it looks like it ensures that the value will
never go negative. However, since it is applied to `i32`, it can, and
converting it to `usize` would go horribly wrong anyway.

By following the code flow, `exponent` cannot be greater than
`precision`, or the `else` block would not have been taken.  A plain
subtraction will give the same result and will at least panic in debug
mode.
2024-01-05 15:04:12 +01:00
Samuel Tardieu
4c5326ffa3 uucore/num_format: the default precision for %g is 6 2024-01-05 15:00:12 +01:00
Sylvestre Ledru
e64a0b4a26 Various fixes
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-01-05 12:56:27 +01:00
Sylvestre Ledru
cb27b9c9c3 path_ends_with_terminator: rustdoc + unittest 2024-01-05 12:56:27 +01:00
Sylvestre Ledru
108dc4a0cd Move path_ends_with_terminator from mv into uucore 2024-01-05 12:56:27 +01:00
Samuel Tardieu
e56682893f uucore: fix style in tests
- `Path::new()` returns a `&Path` and does not need to be dereferenced
- Some types can be deduced from the context and are well visible
  already (`parse_size_u128()` or `from_bytes()`)
2024-01-05 10:14:27 +01:00
Ikko Eltociear Ashimine
9dca071b69
Fix typo in signals.rs (#5781)
* Fix typo in signals.rs

occured -> occurred

* Remove "occurred" from spell-checker:ignore

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-01-05 07:30:23 +01:00
Sylvestre Ledru
f53f9b6496 handle the error when stdout is full
Avoid panic when using
seq 1 >/dev/full

Should move tests/csplit/csplit-io-err.sh from ERROR to SKIP
2024-01-01 17:00:10 +01:00
Daniel Hofstetter
6510115d9e
Merge pull request #5680 from tertsdiepraam/fsext-refactor
Fsext refactor
2023-12-21 15:55:30 +01:00
Terts Diepraam
f90713278f uucore/fsext: do not use dangerous macro for nul terminated UTF16 strings 2023-12-20 15:27:51 +01:00
Terts Diepraam
cc15876bb7 uucore/fsext: merge some windows imports 2023-12-20 15:27:51 +01:00
Terts Diepraam
d4a9d63ea2 uucore/fsext: refactor MountInfo construction 2023-12-20 15:27:51 +01:00
Laurent Cheylus
b9d4f97e6d
uucore: remove useless conversion for features/fs on OpenBSD
- src/uucore/src/lib/features/fs.rs: in inode function, remove useless
    conversion for target_OS = OpenBSD

Signed-off-by: Laurent Cheylus <foxy@free.fr>
2023-12-19 12:13:20 +01:00
Laurent Cheylus
e6d12732f5 uucore: disable utmpx feature on OpenBSD
- See issue uutils/coreutils#5596 for details
2023-12-11 18:23:35 +01:00
Ian Douglas Scott
db91e12a1d Fix build on Redox, and add stat to Redox feature 2023-12-11 04:38:17 -08:00
Sylvestre Ledru
fe730f8a49
Merge pull request #5611 from sylvestre/dirdb
dircolors: Move the static long string into structures.
2023-12-07 09:58:55 +01:00
Sylvestre Ledru
1c9413e185 bring back the old format 2023-12-04 22:51:08 +01:00
Sylvestre Ledru
3e35410907 dircolors: fix comments 2023-12-04 22:47:42 +01:00
Sylvestre Ledru
f5776bc511
fix comment
Co-authored-by: Terts Diepraam <terts.diepraam@gmail.com>
2023-12-04 22:40:18 +01:00
Sylvestre Ledru
1a4ca7e65d fix clippy warnings 2023-12-02 15:19:37 +01:00
Sylvestre Ledru
5d19f79cd0 dircolors should use the datastructures when printing 2023-12-02 15:04:39 +01:00
Sylvestre Ledru
0e8c171c80 dircolors: move the FILE_ATTRIBUTE_CODES datastructures and use it 2023-12-02 11:03:51 +01:00
Sylvestre Ledru
13a4c9114c create datastructures for colors 2023-12-02 10:29:02 +01:00
Laurent Cheylus
420df3db3d
Add support in uucore for OpenBSD
- uucore/src/lib/features/fs.rs: add target_os = OpenBSD when needed
  - uucore/src/lib/features/fsext.rs: implement FsUsage::new for OpenBSD

  - fixes uutils/coreutils#5448

  - initial code by n1000 https://github.com/n1000/coreutils/tree/openbsd_compile_fixes

Signed-off-by: Laurent Cheylus <foxy@free.fr>
2023-11-29 17:44:50 +01:00
Sylvestre Ledru
3cadeb734d
Merge pull request #5561 from tertsdiepraam/fixup-macros
all: reduce imports needed for `show` and `show_if_err` macros
2023-11-29 15:10:59 +01:00
Sylvestre Ledru
14a8e8a452
Merge pull request #5128 from tertsdiepraam/printf-rewrite
`printf` rewrite (with a lot of `seq` changes)
2023-11-28 07:52:58 +01:00
Terts Diepraam
8eb66ab7ea printf: remove whitespace, remove redundant spelling ignore and revert matching on result 2023-11-27 11:53:26 +01:00
zoze0
550f3b0c48
uucore: add support for loongarch64 (#5574)
* uucore: add support for loongarch64

* add loongarch

---------

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2023-11-23 17:41:11 +01:00
Terts Diepraam
e95add7940 uucore/format: fix license headers and improve docs 2023-11-22 14:06:03 +01:00
renovate[bot]
3425ee8d59
fix(deps): update rust crate data-encoding-macro to 0.1.14 2023-11-22 06:09:44 +00:00
renovate[bot]
18b5c22567
fix(deps): update rust crate data-encoding to 2.5 2023-11-21 22:24:11 +00:00
Terts Diepraam
da7c168f9d all: reduce imports needed for show and show_if_err macros 2023-11-21 12:49:07 +01:00
Terts Diepraam
5c04283d6e printf: address fmt, clippy, spelling and failing test 2023-11-21 00:42:02 +01:00
Terts Diepraam
6d2698b802 Merge branch 'main' into printf-rewrite 2023-11-20 13:53:11 +01:00
Terts Diepraam
68d036c9a2 printf: basic support for unicode escape sequences 2023-11-20 13:45:02 +01:00
Terts Diepraam
066d8ba73d printf: coerce missing and invalid arguments to 0 2023-11-20 13:25:20 +01:00
Terts Diepraam
c43ee01d19 printf: allow precision in string 2023-11-20 12:38:26 +01:00
Terts Diepraam
5f2374b339 printf: fix negative hex argument parsing 2023-11-17 14:57:09 +01:00
Terts Diepraam
955640aac8 printf: fix and test float formatting 2023-11-17 14:46:38 +01:00
Terts Diepraam
76eca8d999 uucore/format: fix doctests 2023-11-17 14:43:25 +01:00
Terts Diepraam
f3da0817a5 printf: support precision for integers 2023-11-17 14:42:52 +01:00
Terts Diepraam
f83e0d1b04 printf: accept multiple length parameters 2023-11-17 14:41:42 +01:00
Terts Diepraam
cd0c24af07 printf: implement %b 2023-11-17 14:41:14 +01:00
Terts Diepraam
a45ff8ca73 printf: more flexible parsing of unparsed arguments 2023-11-17 14:39:39 +01:00
Terts Diepraam
eaf5006379 printf: parse arguments and handle escape codes 2023-11-16 17:00:41 +01:00
Terts Diepraam
e7d58f673f seq: simplify and use new printf implementation 2023-11-16 14:29:49 +01:00
ALXD
b3eae16fad printf: intf: change warning and exit code 2023-11-15 17:50:34 +01:00
Sylvestre Ledru
ff92bfb25b Prepare version 0.0.23 2023-11-13 22:02:01 +01:00
Terts Diepraam
6481d63ea4 uucore/format: implement single specifier formats 2023-11-13 15:22:49 +01:00
Terts Diepraam
39c6758475 uucore/format: move types for num_format 2023-11-09 16:05:11 +01:00
Terts Diepraam
198f7c7f26 printf: move number formatting to separate module 2023-11-09 15:48:26 +01:00
Zhuoxun Yang
e3ec12233b printf: support %q 2023-11-09 10:17:44 +08:00
Brandon Elam Barker
44d105d015
Add support in uucore for illumos and solaris (#5489)
* uucore support for illumos and solaris

* use macro to consolidate illumos and solaris signals

* fixing some CI issues

* replaced macro with better cfg usage
2023-11-04 12:31:11 +01:00
Terts Diepraam
f117fc1bab printf rewrite: fix compilation 2023-10-28 17:36:43 +02:00
Terts Diepraam
28810906a3 Merge branch 'main' into printf-rewrite 2023-10-28 16:35:58 +02:00
Daniel Hofstetter
9f63ae6645
fsext: add getmntinfo to spell-checker:ignore 2023-10-27 14:25:41 +02:00
Konstantin Belousov
11f56a79af freebsd: fix the 'df' command
df, and perhaps other commands, get the list of the mounted filesystems
with the call to getmntinfo(3).  Since Rust still use FreeBSD 11.x ABI
for filesystem metadata call, it should use matching versioned symbol for
getmntinfo from libc.
2023-10-27 12:38:20 +03:00
Sylvestre Ledru
4573eb693f
Merge pull request #5357 from zhitkoff/issue5334-uucore-parse-r-q
Implement SI prefixes R and Q
2023-10-18 18:55:17 +02:00
Daniel Hofstetter
a2defd1a21 uucore: remove incorrect comment 2023-10-18 16:34:35 +02:00
zhitkoff
abc95361a5 prase_size: comments 2023-10-17 10:50:50 -04:00
zhitkoff
74e01e3987 parse_size: more test case coverage 2023-10-17 10:50:50 -04:00
zhitkoff
cb7479e823 uucore: implement SI suffixes R and Q 2023-10-17 10:50:50 -04:00
renovate[bot]
c892c9346f
fix(deps): update rust crate dns-lookup to 2.0.4 2023-10-15 17:59:54 +00:00
Sylvestre Ledru
e1bd47d549 0.0.21 => 0.0.22 2023-10-15 14:33:23 +02:00
Sylvestre Ledru
29a5a13ce6 fs: split get_file_display into its function 2023-10-12 20:41:48 +02:00
Sylvestre Ledru
0695437de2
Merge pull request #5385 from cakebaker/uucore_remove_commented_out_enum
uucore: remove commented out enum FChar
2023-10-09 15:39:38 +02:00
Daniel Hofstetter
b38ac2cb74 uucore: remove commented out enum FChar 2023-10-09 15:28:12 +02:00
Daniel Hofstetter
2883c0a968 uucore: remove commented out import 2023-10-09 15:16:50 +02:00
Sylvestre Ledru
55fd1f3617 Replace list of digit by is_ascii_digit
and some ride along simplification
2023-09-28 23:07:01 +02:00
Sylvestre Ledru
265c258713 ranges: add unit tests to verify the parsing
To test them:
$ cargo test -p uucore --features ranges
2023-09-26 09:40:21 +02:00
Sylvestre Ledru
99120d32c1 cut: fail when the input == usize::MAX 2023-09-26 09:40:21 +02:00
renovate[bot]
6aba3a4d67
fix(deps): update rust crate wild to 2.2 2023-09-24 20:04:53 +00:00
pin
23ee9b622d
Add NetBSD support to uucore. (#5289)
* Add NetBSD support to uucore.

Fixes https://github.com/uutils/coreutils/issues/5288
2023-09-21 12:24:08 +02:00
Sylvestre Ledru
9b4d2c6bc4
ls: implement --dired
* Support ls --dired

* stat-failed.sh: update of the test - we have a small difference

* ls --dired: address some of the comments

* fix warnings

* use unwrap()

* Improve test

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* Simplify test

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* Remove a word from the spell ignore

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* remove duplication of the spell ignore

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* rustfmt

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2023-09-20 08:17:46 +02:00
renovate[bot]
416a4832b8
fix(deps): update rust crate dns-lookup to 2.0.3 2023-09-17 17:46:16 +00:00
Daniel Hofstetter
d19b8b78d8 uucore: turn quoting_style into a feature 2023-09-10 15:07:37 +02:00
Sylvestre Ledru
80f8eb6724
Merge pull request #5252 from zhitkoff/split-gnu-test-fail.sh
split: implement remaining -n variants and pass GNU tests/split/fail.sh
2023-09-07 17:15:09 +02:00
Daniel Hofstetter
5c93c592db uucore: turn version_cmp into a feature 2023-09-06 09:47:50 +02:00
zhitkoff
2ae1d8d1cc split: missing functionality for --number option 2023-09-05 17:13:30 -04:00
zhitkoff
636c2bb7ae uucore: parse_size_max and split 2023-09-04 12:05:26 -04:00
Daniel Hofstetter
183d465f74 uucore: turn ranges into a feature 2023-09-03 16:20:15 +02:00
Sylvestre Ledru
9844f1f07d 0.0.20 => 0.0.21 2023-09-03 14:42:54 +02:00
Daniel Hofstetter
b405d4e6cc uucore: turn update_control into a feature 2023-09-02 14:45:58 +02:00
Sylvestre Ledru
6012002880
Merge pull request #5231 from cakebaker/uucore_backup_control_feature
uucore: turn backup_control into a feature
2023-09-01 21:08:59 +02:00
Sylvestre Ledru
b783088900
Merge pull request #5229 from cakebaker/uucore_make_dunce_optional
uucore: make "dunce" optional
2023-09-01 16:54:42 +02:00
Daniel Hofstetter
b41ff2ed7f uucore: turn backup_control into a feature 2023-09-01 16:20:37 +02:00
Daniel Hofstetter
2e71508308 uucore: make "dunce" optional 2023-09-01 09:47:22 +02:00
XXIV
4f465eb76c
remove unnecessary heap allocation 2023-08-31 23:44:45 +03:00
Daniel Hofstetter
fb1c663724 uucore: make deps of "sum" feature optional 2023-08-31 16:45:55 +02:00
Daniel Hofstetter
2e2387d434 parse_size,dd: turn instance fns to associated fns 2023-08-26 14:35:35 +02:00
Sylvestre Ledru
f0602b0ce6
Merge pull request #5204 from cakebaker/fix_clippy_warnings
Fix clippy warnings with Rust 1.72.0
2023-08-25 13:21:38 -04:00
Sylvestre Ledru
e8ed65f4fa
Merge pull request #5206 from cakebaker/fix_bool_to_int_with_if
uucore,comm: fix warnings from bool_to_int_with_if
2023-08-25 13:20:00 -04:00
Daniel Hofstetter
79a44d768c uucore,comm: fix warnings from bool_to_int_with_if 2023-08-25 15:29:15 +02:00
Daniel Hofstetter
b9c05ed4e3 Remove the author copyright notices
from files missed by https://github.com/uutils/coreutils/pull/5184
and https://github.com/uutils/coreutils/pull/5197
2023-08-25 15:03:19 +02:00
Daniel Hofstetter
01b2834f2e Fix clippy warnings with Rust 1.72.0 2023-08-25 13:22:02 +02:00