Commit graph

806 commits

Author SHA1 Message Date
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
Terts Diepraam
c3f9e19a3b all: normalize license notice in all *.rs files 2023-08-24 12:21:09 +02:00
Sylvestre Ledru
0b9c829bce
Merge pull request #5182 from sylvestre/clippy_
Fix some of the recent clippy warnings
2023-08-21 16:21:02 -04:00
Sylvestre Ledru
bf5b765cba
Remove the author copyright notices (#5184)
* Remove the author copyright notices

Rational:
* not maintained
* does not reflect reality
* don't provide any value (the info can be found in the git log)
* we don't have rules to update them
  (ex: should you update it after one line, two lines, etc)

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2023-08-21 12:23:18 +02:00
Daniel Hofstetter
808f9e2fd6 uucore: add missing "!" 2023-08-21 10:56:17 +02:00
Sylvestre Ledru
bfca6bf70f Add license headers on all files 2023-08-21 10:49:27 +02:00
Sylvestre Ledru
7c9f4ba92a Fix some clippy warnings 2023-08-21 08:41:40 +02:00
Simon Legner
872818607f
Extract uucore::line_ending::LineEnding (#5120)
* Extract uucore::line_ending::LineEnding

Aims to provide consistent newline/zero terminator handling.

* Apply suggestions from code review

Co-authored-by: Terts Diepraam <terts.diepraam@gmail.com>

* cargo fmt

* Use uucore::line_ending::LineEnding

* Remove uucore::line_ending::LineEnding::Space

* Rename LineEnding::from_zero_flag

* Replace LineEnding::None with Option<LineEnding>

* cargo clippy

* assert_eq

* cargo clippy

* cargo clippy

* uucore/line_ending: add more documentation

---------

Co-authored-by: Terts Diepraam <terts.diepraam@gmail.com>
2023-08-20 10:03:29 +02:00
Terts Diepraam
0a4f833bb7
Merge pull request #5127 from cakebaker/uucore_fix_shortcut_value_parser
uucore: don't show error for ambiguous value
2023-08-11 11:16:30 +02:00
Terts Diepraam
407bccc54f some more work on printf spec 2023-08-10 23:20:20 +02:00
Aneesh
773e69078c docs(bin,has): add docstrings for macros bin and has 2023-08-03 13:39:38 +05:30
Terts Diepraam
a3e68d5bbd uucore: start work on a completely new printf implementation 2023-08-02 23:57:26 +02:00
Daniel Hofstetter
ec27a074c0 uucore: don't show error for ambiguous value
that's a direct match in ShortcutValueParser
2023-08-01 08:39:05 +02:00
Daniel Hofstetter
fe9ec37141 uucore: use "workspace=true" for some dependencies 2023-07-22 16:14:32 +02:00
Sylvestre Ledru
74530c0f51 Update the version to 0.0.20 2023-07-14 13:04:17 +02:00
Daniel Hofstetter
5d03d2d9d4 clippy: fix warnings introduced by Rust 1.71.0 2023-07-13 17:35:33 +02:00
John Shin
844cbdc5a4 sort: add tests for stable and unstable sort 2023-07-05 10:05:52 +02:00
John Shin
e9405250f4 uucore: leading zeros are ignored in version compare 2023-07-05 10:05:52 +02:00
Sylvestre Ledru
9d44d8b71d
Merge pull request #4977 from cakebaker/date_shortcut_value_parser
date: use custom value parser
2023-07-04 19:56:46 +02:00
Sylvestre Ledru
24aff229da Add a function to detect if file is likely to be the simple backup file 2023-06-28 23:11:25 +02:00
renovate[bot]
824097d224
fix(deps): update rust crate libc to 0.2.147 2023-06-25 19:09:01 +00:00
Sylvestre Ledru
ddcdda44db Remove the auto capitalization of error message 2023-06-25 00:18:33 +02:00
renovate[bot]
0144a3c78f
fix(deps): update rust crate itertools to 0.11.0 2023-06-22 13:43:21 +00:00
Daniel Hofstetter
24b979c821 uucore: introduce ShortcutValueParser 2023-06-14 13:34:50 +02:00
Rayhan Faizel
c113284a4b uucore: modify are_hardlinks_to_same_file to check only immediate metadata 2023-06-12 23:46:33 +05:30
Rayhan Faizel
ab42b1e599 uucore: add function which checks hardlink as well as directed symlink 2023-06-10 18:31:30 +05:30
Sylvestre Ledru
6ecef3a0e3 Reformat TOML files with taplo
npx --yes @taplo/cli fmt
2023-06-08 09:07:19 +02:00
renovate[bot]
c68b665bf9
fix(deps): update rust crate libc to 0.2.146 2023-06-06 14:39:50 +00:00
Sylvestre Ledru
830b7d5ce1 New release 2023-06-04 09:46:59 +02:00
Sylvestre Ledru
58bf998919
Ignore some words 2023-05-30 15:49:53 +02:00
John Shin
a397920183 core: refactor parse_number in size parser 2023-05-30 13:56:01 +02:00
John Shin
0465553f6e core: size parser treat 000 as decimal 2023-05-30 13:56:01 +02:00
John Shin
8ef926c6e8 core: refactor num and unit split 2023-05-30 13:56:01 +02:00
John Shin
6cadffc8f1 core: fix clippy warning for size parser 2023-05-30 13:56:01 +02:00
John Shin
6278c6f2d6 core: add octal and hex size parse support 2023-05-30 13:56:01 +02:00
Daniel Hofstetter
1781a5db1d
Merge pull request #4698 from uutils/renovate/windows-sys-0.x
fix(deps): update rust crate windows-sys to 0.48.0
2023-05-30 13:40:49 +02:00
renovate[bot]
2ec70dc05d
fix(deps): update rust crate dns-lookup to v2 2023-05-30 06:37:02 +00:00
renovate[bot]
8f9a328c6a
fix(deps): update rust crate windows-sys to 0.48.0 2023-05-30 06:36:57 +00:00
Moïse Valvassori
b29f8b011b
chown: show "ownership of 'foo' retained" message
* Display a message when the owner is not changed.

* Display a message when the current user/group doesn't match those specified in the `--from` args.

* print messages to stdout

* Show the message "ownership of 'foo' retained as 'bar'" for every path entry when `chown -v -R --from=`

* fix chown tests: test stdout and not stderr

* factorize duplicate code in a function

* Display a message when the owner is not changed.

* Display a message when the current user/group doesn't match those specified in the `--from` args.

* print messages to stdout

* Show the message "ownership of 'foo' retained as 'bar'" for every path entry when `chown -v -R --from=`

* fix chown tests: test stdout and not stderr

* factorize duplicate code in a function

* display the retained ownership details according to the destination ownership.
2023-05-24 09:45:19 +02:00
renovate[bot]
cda52ebce6
fix(deps): update rust crate data-encoding-macro to 0.1.13 2023-05-22 12:36:42 +00:00
renovate[bot]
66224cdbf8
fix(deps): update rust crate data-encoding to 2.4 2023-05-22 11:32:58 +00:00
Moïse Valvassori
0130a07579
chown: show message if file doesn't exist
* print the message "failed to change ownership of" when we try to change a non existing file.

* replace the 4-tuple returned by parse_gid_uid_and_filter by GidUidOwnerFilter struct.

* chain the test in one expression.

* chown: remove unused var "result" in test

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2023-05-21 17:54:32 +02:00
renovate[bot]
30c166ad40
fix(deps): update rust crate libc to 0.2.144 2023-05-08 16:28:38 +00:00
Daniel Hofstetter
d769871374
Merge pull request #4831 from sylvestre/mv-hardlink
mv: 'mv source hardlink' should fail
2023-05-08 16:12:23 +02:00
Sylvestre Ledru
b7cf825887 uucore::fs add an hardlink detection 2023-05-07 23:04:52 +02:00
renovate[bot]
214c027cfa
fix(deps): update rust crate libc to 0.2.143 2023-05-06 19:01:14 +00:00
Sylvestre Ledru
cd688662ec fix some lines_filter_map_ok clippy warnings 2023-05-06 14:53:42 +02:00
Sylvestre Ledru
f8d7bebed3 ignore some cognitive_complexity for now 2023-05-06 14:50:55 +02:00
Daniel Hofstetter
616a166e36
Merge pull request #4820 from sylvestre/thru-dangling-2
cp: fix cp -f f loop when loop is a symlink loop
2023-05-04 08:20:57 +02:00
Sylvestre Ledru
6547bec2ef uucore/detect_symlink_loop: add a function to detect symlink loops 2023-05-03 19:54:33 +02:00
Sylvestre Ledru
aae3f2f99c Ride along: fix some trivial clippy warnings 2023-05-02 23:22:39 +02:00
John Shin
898628fa3a core: fix typo in update control 2023-05-02 13:54:31 -07:00
John Shin
3b8f3d04f4 core: remove unnecessary if statement in update control 2023-05-02 12:49:49 -07:00
John Shin
460d346069 core: remove '' case for the update argument 2023-05-02 12:42:39 -07:00
John Shin
06d4603bea core: fix typo in update control 2023-05-02 12:40:04 -07:00
John Shin
36e93e12d6 core: add header notice for update control 2023-05-02 12:38:12 -07:00
John Shin
60c0b661c3 core: fix typo in update control 2023-05-01 17:22:08 -07:00
John Shin
c5327cf0a0 core: add docs for update control 2023-05-01 03:48:37 -07:00
John Shin
2f8df653c5 core mv cp: update help doc for 'update' functionality 2023-04-30 18:53:11 -07:00
John Shin
ecde4b6aa3 core: introduce update controller for mv and cp 2023-04-27 04:47:59 -07:00
Dan Gohman
f187a5ccff Fix a warning in upstream code on Rust nightly.
Rust nightly recently [started] issuing the following warning when
compiling coreutils:

[started]: https://github.com/rust-lang/rust/pull/109944

```
warning: getting the inner pointer of a temporary `CString`
   --> src/uucore/src/lib/features/entries.rs:324:67
    |
324 |                         let data = $fnam(CString::new(k).unwrap().as_ptr());
    |                                          ------------------------ ^^^^^^ this pointer will be invalid
    |                                          |
    |                                          this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
...
340 | f!(getpwnam, getpwuid, uid_t, Passwd);
    | ------------------------------------- in this macro invocation
    |
    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
    = note: this warning originates in the macro `f` (in Nightly builds, run with -Z macro-backtrace for more info)
```

There doesn't seem to be an actual problem in this case, as the pointer is
only used within the statement.
2023-04-24 14:31:05 -07:00
renovate[bot]
790958e4f3
fix(deps): update rust crate libc to 0.2.142 2023-04-20 17:09:10 +00:00
renovate[bot]
54178d491c
fix(deps): update rust crate dunce to 1.0.4 2023-04-19 16:14:17 +00:00
Daniel Hofstetter
dd3c0f7fe9
Merge pull request #4729 from spineki/b2sum-missing-l-option
B2sum: add -l/--length option
2023-04-13 09:57:55 +02:00
Marras Antoine
ae1113d7dc b2sum: add support to -l option 2023-04-10 18:31:18 +02:00
Daniel Hofstetter
4355fb7f78 Remove some unnecessary "extern crate" statements 2023-04-09 16:12:45 +02:00
Daniel Hofstetter
dfea103bc4 uucore: remove commented out imports 2023-04-09 14:53:15 +02:00
renovate[bot]
120a5f6d76
fix(deps): update rust crate libc to 0.2.141 2023-04-04 10:22:35 +00:00
Sylvestre Ledru
3247e1b5e1
Merge pull request #4639 from sylvestre/version
0.0.17 => 0.0.18
2023-04-02 11:31:24 +02:00
Daniel Hofstetter
5d0f0144c1
Merge pull request #4691 from uutils/renovate/windows-sys-0.x
fix(deps): update rust crate windows-sys to 0.45.0
2023-03-31 08:09:33 +02:00
Daniel Hofstetter
4a82d4808f
Merge pull request #4689 from uutils/renovate/data-encoding-2.x
fix(deps): update rust crate data-encoding to 2.3
2023-03-30 16:06:49 +02:00
renovate[bot]
ce6bacd87a
fix(deps): update rust crate windows-sys to 0.45.0 2023-03-30 13:44:57 +00:00
renovate[bot]
2945d6b6b9
fix(deps): update rust crate wild to 2.1 2023-03-30 06:11:01 +00:00
renovate[bot]
4a89f4ab96
fix(deps): update rust crate data-encoding to 2.3 2023-03-30 05:59:08 +00:00
Sylvestre Ledru
af0a263191 0.0.17 => 0.0.18 2023-03-29 08:11:25 +02:00
Sylvestre Ledru
9d075c65c4
Merge pull request #4653 from uutils/renovate/libc-0.x
fix(deps): update rust crate libc to 0.2.140
2023-03-29 07:53:21 +02:00
Daniel Hofstetter
0562c508ed
Merge pull request #4640 from uutils/renovate/glob-0.x
fix(deps): update rust crate glob to 0.3.1
2023-03-28 14:48:09 +02:00
Sylvestre Ledru
59b03d2c9e
Merge pull request #4647 from kamilogorek/if-not-else-lint
lint: Enable clippy::if_not_else and fix all lint issues
2023-03-28 13:25:31 +02:00
renovate[bot]
915c183ff8
fix(deps): update rust crate libc to 0.2.140 2023-03-28 06:02:04 +00:00
Sylvestre Ledru
ab859b8b58
Merge pull request #4652 from uutils/renovate/itertools-0.x
fix(deps): update rust crate itertools to 0.10.5
2023-03-28 07:58:06 +02:00
renovate[bot]
f223629382
fix(deps): update rust crate itertools to 0.10.5 2023-03-27 19:24:30 +00:00
renovate[bot]
bf228385e8
fix(deps): update rust crate glob to 0.3.1 2023-03-27 05:36:00 +00:00
renovate[bot]
515bd8f642
fix(deps): update rust crate dns-lookup to 1.0.8 2023-03-27 05:32:38 +00:00
Kamil Ogórek
68e90eacbb lint: Fix all issues in preparation for enabling clippy::if_not_else 2023-03-26 22:23:50 +02:00
Tom D
e4408f3759 Refactor signal handling in yes, tee, and timeout
Yes, using libc while using nix was a bit redundant.
Upon investigation, duplicated code was found and moved to uucore.
2023-03-26 11:10:40 +02:00
Sylvestre Ledru
8e1082458f
Merge pull request #4393 from cakebaker/uucore_indent_usage_info
uucore: indent multiline usage info
2023-03-24 23:13:11 +01:00
SSJDeathSpawn
4f88356035
refactor: simplification and name change 2023-03-21 18:52:54 +05:30
SSJDeathSpawn
6699eaad6c
Added condition to ensure name of utility appears 2023-03-21 18:19:17 +05:30
Benjamin Bara
e982d57819 chmod: fix GNU test 'chmod/usage' 2023-03-16 21:25:26 +01:00
Terts Diepraam
320929d83d
Merge branch 'main' into issue-4176-fix-timeout 2023-03-12 13:35:27 +01:00
papparapa
e5b6f63305
parser: fix index out of bounds error (#4484)
+ revert 1bc9980 to use files in workspace
2023-03-12 11:07:59 +01:00
Miles Liu
f406b56f4a
timeout: fix subprocess is never terminated 2023-03-10 18:08:54 +08:00
Daniel Hofstetter
b35c415578 uucore: indent multiline usage info 2023-03-05 21:38:21 +01:00
Terts Diepraam
3554565c82
Merge pull request #4356 from howjmay/cksum-a
cksum: implement -a
2023-02-23 12:18:21 +01:00
Sylvestre Ledru
7da22b3ae2
Merge pull request #4405 from bbara/utmpx-time
utmpx: arch/os-independent timeval handling
2023-02-22 21:26:10 +01:00