mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-27 11:07:44 +00:00
commit
7debdbbbaa
5 changed files with 6 additions and 13 deletions
|
@ -1 +1 @@
|
||||||
msrv = "1.54.0"
|
msrv = "1.56.0"
|
||||||
|
|
2
.github/workflows/CICD.yml
vendored
2
.github/workflows/CICD.yml
vendored
|
@ -13,7 +13,7 @@ env:
|
||||||
PROJECT_NAME: coreutils
|
PROJECT_NAME: coreutils
|
||||||
PROJECT_DESC: "Core universal (cross-platform) utilities"
|
PROJECT_DESC: "Core universal (cross-platform) utilities"
|
||||||
PROJECT_AUTH: "uutils"
|
PROJECT_AUTH: "uutils"
|
||||||
RUST_MIN_SRV: "1.54.0" ## MSRV v1.54.0
|
RUST_MIN_SRV: "1.56.0" ## MSRV v1.56.0
|
||||||
# * style job configuration
|
# * style job configuration
|
||||||
STYLE_FAIL_ON_FAULT: true ## (bool) fail the build if a style job contains a fault (error or warning); may be overridden on a per-job basis
|
STYLE_FAIL_ON_FAULT: true ## (bool) fail the build if a style job contains a fault (error or warning); may be overridden on a per-job basis
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ Both can also be generated locally, the instructions for that can be found in th
|
||||||
### Rust Version
|
### Rust Version
|
||||||
|
|
||||||
uutils follows Rust's release channels and is tested against stable, beta and nightly.
|
uutils follows Rust's release channels and is tested against stable, beta and nightly.
|
||||||
The current oldest supported version of the Rust compiler is `1.54`.
|
The current oldest supported version of the Rust compiler is `1.56`.
|
||||||
|
|
||||||
On both Windows and Redox, only the nightly version is tested currently.
|
On both Windows and Redox, only the nightly version is tested currently.
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ use std::error::Error;
|
||||||
use std::fmt::Display;
|
use std::fmt::Display;
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
use std::io::{stdin, stdout, BufRead, BufReader, BufWriter, Split, Stdin, Write};
|
use std::io::{stdin, stdout, BufRead, BufReader, BufWriter, Split, Stdin, Write};
|
||||||
|
use std::num::IntErrorKind;
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
use std::os::unix::ffi::OsStrExt;
|
use std::os::unix::ffi::OsStrExt;
|
||||||
use uucore::display::Quotable;
|
use uucore::display::Quotable;
|
||||||
|
@ -965,13 +966,9 @@ fn get_field_number(keys: Option<usize>, key: Option<usize>) -> UResult<usize> {
|
||||||
/// Parse the specified field string as a natural number and return
|
/// Parse the specified field string as a natural number and return
|
||||||
/// the zero-based field number.
|
/// the zero-based field number.
|
||||||
fn parse_field_number(value: &str) -> UResult<usize> {
|
fn parse_field_number(value: &str) -> UResult<usize> {
|
||||||
// TODO: use ParseIntError.kind() once MSRV >= 1.55
|
|
||||||
// For now, store an overflow Err from parsing a value 10x 64 bit usize::MAX
|
|
||||||
// Adapted from https://github.com/rust-lang/rust/issues/22639
|
|
||||||
let overflow = "184467440737095516150".parse::<usize>().err().unwrap();
|
|
||||||
match value.parse::<usize>() {
|
match value.parse::<usize>() {
|
||||||
Ok(result) if result > 0 => Ok(result - 1),
|
Ok(result) if result > 0 => Ok(result - 1),
|
||||||
Err(ref e) if *e == overflow => Ok(usize::MAX),
|
Err(e) if e.kind() == &IntErrorKind::PosOverflow => Ok(usize::MAX),
|
||||||
_ => Err(USimpleError::new(
|
_ => Err(USimpleError::new(
|
||||||
1,
|
1,
|
||||||
format!("invalid field number: {}", value.quote()),
|
format!("invalid field number: {}", value.quote()),
|
||||||
|
|
|
@ -221,11 +221,7 @@ impl Utmpx {
|
||||||
pub fn canon_host(&self) -> IOResult<String> {
|
pub fn canon_host(&self) -> IOResult<String> {
|
||||||
let host = self.host();
|
let host = self.host();
|
||||||
|
|
||||||
// TODO: change to use `split_once` when MSRV hits 1.52.0
|
let (hostname, display) = host.split_once(':').unwrap_or((&host, ""));
|
||||||
// let (hostname, display) = host.split_once(':').unwrap_or((&host, ""));
|
|
||||||
let mut h = host.split(':');
|
|
||||||
let hostname = h.next().unwrap_or(&host);
|
|
||||||
let display = h.next().unwrap_or("");
|
|
||||||
|
|
||||||
if !hostname.is_empty() {
|
if !hostname.is_empty() {
|
||||||
extern crate dns_lookup;
|
extern crate dns_lookup;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue