From 9061b2ba7e1267cd6c8466108ecb197614ce29ea Mon Sep 17 00:00:00 2001 From: clara swanson <69856940+cswn@users.noreply.github.com> Date: Thu, 30 Nov 2023 11:01:31 +0100 Subject: [PATCH] libstdbuf: remove crash macro (#5565) * libstdbuf: remove crash macro * libstdbuf: remove uucore macro/struct and use gnu messages * libstdbuf: remove crash macro * libstdbuf: remove uucore macro/struct and use gnu messages * libstdbuf: remove :? from print by printing file descriptor instead of file * merge main into libstdbuf-remove-crash-macro * libstdbuf: remove uucore from dependencies --- Cargo.lock | 1 - src/uu/stdbuf/src/libstdbuf/Cargo.toml | 1 - src/uu/stdbuf/src/libstdbuf/src/libstdbuf.rs | 14 ++++++++++---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3f5e42809..bf638b421 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2952,7 +2952,6 @@ dependencies = [ "cpp", "cpp_build", "libc", - "uucore", ] [[package]] diff --git a/src/uu/stdbuf/src/libstdbuf/Cargo.toml b/src/uu/stdbuf/src/libstdbuf/Cargo.toml index be97c47ae..eaa82e6e7 100644 --- a/src/uu/stdbuf/src/libstdbuf/Cargo.toml +++ b/src/uu/stdbuf/src/libstdbuf/Cargo.toml @@ -22,7 +22,6 @@ crate-type = [ [dependencies] cpp = "0.5" libc = { workspace = true } -uucore = { version = ">=0.0.19", package = "uucore", path = "../../../../uucore" } [build-dependencies] cpp_build = "0.5" diff --git a/src/uu/stdbuf/src/libstdbuf/src/libstdbuf.rs b/src/uu/stdbuf/src/libstdbuf/src/libstdbuf.rs index a29d01b78..d744ca4c5 100644 --- a/src/uu/stdbuf/src/libstdbuf/src/libstdbuf.rs +++ b/src/uu/stdbuf/src/libstdbuf/src/libstdbuf.rs @@ -5,10 +5,9 @@ // spell-checker:ignore (ToDO) IOFBF IOLBF IONBF cstdio setvbuf use cpp::cpp; -use libc::{c_char, c_int, size_t, FILE, _IOFBF, _IOLBF, _IONBF}; +use libc::{c_char, c_int, fileno, size_t, FILE, _IOFBF, _IOLBF, _IONBF}; use std::env; use std::ptr; -use uucore::crash; cpp! {{ #include @@ -40,7 +39,10 @@ fn set_buffer(stream: *mut FILE, value: &str) { input => { let buff_size: usize = match input.parse() { Ok(num) => num, - Err(e) => crash!(1, "incorrect size of buffer!: {}", e), + Err(_) => { + eprintln!("failed to allocate a {} byte stdio buffer", value); + std::process::exit(1); + } }; (_IOFBF, buff_size as size_t) } @@ -52,7 +54,11 @@ fn set_buffer(stream: *mut FILE, value: &str) { res = libc::setvbuf(stream, buffer, mode, size); } if res != 0 { - crash!(res, "error while calling setvbuf!"); + eprintln!( + "could not set buffering of {} to mode {}", + unsafe { fileno(stream) }, + mode + ); } }