From a2521970a0f1964286819432e3f9daa9e3b5cc66 Mon Sep 17 00:00:00 2001 From: fox0 <15684995+fox0@users.noreply.github.com> Date: Fri, 25 Oct 2024 20:40:35 +0700 Subject: [PATCH] pathnames: Use compile-time macro env! --- pathnames/Cargo.toml | 4 +++- pathnames/basename.rs | 13 ++++++------- pathnames/dirname.rs | 15 +++++++-------- pathnames/pathchk.rs | 15 +++++++-------- pathnames/realpath.rs | 12 ++++++------ pathnames/tests/basename/mod.rs | 2 +- pathnames/tests/dirname/mod.rs | 2 +- pathnames/tests/realpath/mod.rs | 2 +- 8 files changed, 32 insertions(+), 33 deletions(-) diff --git a/pathnames/Cargo.toml b/pathnames/Cargo.toml index 53aca747..38b7e6f6 100644 --- a/pathnames/Cargo.toml +++ b/pathnames/Cargo.toml @@ -8,11 +8,13 @@ edition.workspace = true rust-version.workspace = true [dependencies] -plib = { path = "../plib" } clap.workspace = true gettext-rs.workspace = true libc.workspace = true +[dev-dependencies] +plib = { path = "../plib" } + [lints] workspace = true diff --git a/pathnames/basename.rs b/pathnames/basename.rs index c2074cb1..4765f6a0 100644 --- a/pathnames/basename.rs +++ b/pathnames/basename.rs @@ -7,10 +7,10 @@ // SPDX-License-Identifier: MIT // +use std::path::Path; + use clap::Parser; use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory}; -use plib::PROJECT_NAME; -use std::path::Path; #[derive(Parser)] #[command( @@ -52,12 +52,11 @@ fn show_basename(args: &Args) { } fn main() -> Result<(), Box> { - // parse command line arguments - let args = Args::parse(); - setlocale(LocaleCategory::LcAll, ""); - textdomain(PROJECT_NAME)?; - bind_textdomain_codeset(PROJECT_NAME, "UTF-8")?; + textdomain(env!("PROJECT_NAME"))?; + bind_textdomain_codeset(env!("PROJECT_NAME"), "UTF-8")?; + + let args = Args::parse(); show_basename(&args); diff --git a/pathnames/dirname.rs b/pathnames/dirname.rs index e3ac3fe3..ce6ec746 100644 --- a/pathnames/dirname.rs +++ b/pathnames/dirname.rs @@ -7,12 +7,12 @@ // SPDX-License-Identifier: MIT // -use clap::Parser; -use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory}; -use plib::PROJECT_NAME; use std::ffi::OsString; use std::path::PathBuf; +use clap::Parser; +use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory}; + #[derive(Parser)] #[command( version, @@ -40,12 +40,11 @@ fn show_dirname(args: &Args) { } fn main() -> Result<(), Box> { - // parse command line arguments - let args = Args::parse(); - setlocale(LocaleCategory::LcAll, ""); - textdomain(PROJECT_NAME)?; - bind_textdomain_codeset(PROJECT_NAME, "UTF-8")?; + textdomain(env!("PROJECT_NAME"))?; + bind_textdomain_codeset(env!("PROJECT_NAME"), "UTF-8")?; + + let args = Args::parse(); show_dirname(&args); diff --git a/pathnames/pathchk.rs b/pathnames/pathchk.rs index 54bbcd2e..8a4361e5 100644 --- a/pathnames/pathchk.rs +++ b/pathnames/pathchk.rs @@ -7,12 +7,12 @@ // SPDX-License-Identifier: MIT // -use clap::Parser; -use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory}; -use plib::PROJECT_NAME; use std::ffi::CString; use std::path::{Component, Path}; +use clap::Parser; +use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory}; + const _POSIX_PATH_MAX: usize = 255; const _POSIX_NAME_MAX: usize = 14; @@ -142,12 +142,11 @@ fn check_path(args: &Args, pathname: &str) -> Result<(), &'static str> { } fn main() -> Result<(), Box> { - // parse command line arguments - let args = Args::parse(); - setlocale(LocaleCategory::LcAll, ""); - textdomain(PROJECT_NAME)?; - bind_textdomain_codeset(PROJECT_NAME, "UTF-8")?; + textdomain(env!("PROJECT_NAME"))?; + bind_textdomain_codeset(env!("PROJECT_NAME"), "UTF-8")?; + + let args = Args::parse(); let mut exit_code = 0; diff --git a/pathnames/realpath.rs b/pathnames/realpath.rs index 658d2430..16d1822d 100644 --- a/pathnames/realpath.rs +++ b/pathnames/realpath.rs @@ -7,10 +7,10 @@ // SPDX-License-Identifier: MIT // +use std::path::{Component, Path, PathBuf}; + use clap::Parser; use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory}; -use plib::PROJECT_NAME; -use std::path::{Component, Path, PathBuf}; /// realpath -- return resolved canonical path #[derive(Parser)] @@ -63,11 +63,11 @@ fn normalize>(path: P) -> std::io::Result { } fn main() -> Result<(), Box> { - let args = Args::parse(); - setlocale(LocaleCategory::LcAll, ""); - textdomain(PROJECT_NAME)?; - bind_textdomain_codeset(PROJECT_NAME, "UTF-8")?; + textdomain(env!("PROJECT_NAME"))?; + bind_textdomain_codeset(env!("PROJECT_NAME"), "UTF-8")?; + + let args = Args::parse(); let mut exit_code = 0; diff --git a/pathnames/tests/basename/mod.rs b/pathnames/tests/basename/mod.rs index 429118d1..6425fd03 100644 --- a/pathnames/tests/basename/mod.rs +++ b/pathnames/tests/basename/mod.rs @@ -7,7 +7,7 @@ // SPDX-License-Identifier: MIT // -use plib::{run_test, TestPlan}; +use plib::testing::{run_test, TestPlan}; #[test] fn basename_basic() { diff --git a/pathnames/tests/dirname/mod.rs b/pathnames/tests/dirname/mod.rs index 82dcb4fe..1722e0af 100644 --- a/pathnames/tests/dirname/mod.rs +++ b/pathnames/tests/dirname/mod.rs @@ -7,7 +7,7 @@ // SPDX-License-Identifier: MIT // -use plib::{run_test, TestPlan}; +use plib::testing::{run_test, TestPlan}; #[test] fn dirname_basic() { diff --git a/pathnames/tests/realpath/mod.rs b/pathnames/tests/realpath/mod.rs index 8bf1482d..db215c40 100644 --- a/pathnames/tests/realpath/mod.rs +++ b/pathnames/tests/realpath/mod.rs @@ -7,7 +7,7 @@ // SPDX-License-Identifier: MIT // -use plib::{run_test, TestPlan}; +use plib::testing::{run_test, TestPlan}; fn realpath_test(args: &[&str], stdout: &str, stderr: &str, expected_code: i32) { let str_args: Vec = args.iter().map(|s| String::from(*s)).collect();