Skip to content

Commit 1a6247c

Browse files
committed
file: Use compile-time macro env!
1 parent 48a2c01 commit 1a6247c

File tree

8 files changed

+72
-71
lines changed

8 files changed

+72
-71
lines changed

file/cat.rs

+11-10
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@
1212
// - Questionable behavior: if write_all() produces Err, the program will
1313
// continue to the next file, rather than stopping.
1414

15-
use clap::Parser;
16-
use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory};
17-
use plib::PROJECT_NAME;
1815
use std::io::{self, Read, Write};
1916
use std::path::PathBuf;
2017

18+
use clap::Parser;
19+
use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory};
20+
use plib::io::input_stream;
21+
use plib::BUFSZ;
22+
2123
#[derive(Parser)]
2224
#[command(version, about = gettext("cat - concatenate and print files"))]
2325
struct Args {
@@ -34,8 +36,8 @@ struct Args {
3436
}
3537

3638
fn cat_file(pathname: &PathBuf) -> io::Result<()> {
37-
let mut file = plib::io::input_stream(pathname, true)?;
38-
let mut buffer = [0; plib::BUFSZ];
39+
let mut file = input_stream(pathname, true)?;
40+
let mut buffer = [0; BUFSZ];
3941

4042
loop {
4143
let n_read = file.read(&mut buffer[..])?;
@@ -50,12 +52,11 @@ fn cat_file(pathname: &PathBuf) -> io::Result<()> {
5052
}
5153

5254
fn main() -> Result<(), Box<dyn std::error::Error>> {
53-
// parse command line arguments
54-
let mut args = Args::parse();
55-
5655
setlocale(LocaleCategory::LcAll, "");
57-
textdomain(PROJECT_NAME)?;
58-
bind_textdomain_codeset(PROJECT_NAME, "UTF-8")?;
56+
textdomain(env!("PROJECT_NAME"))?;
57+
bind_textdomain_codeset(env!("PROJECT_NAME"), "UTF-8")?;
58+
59+
let mut args = Args::parse();
5960

6061
// if no file args, read from stdin
6162
if args.files.is_empty() {

file/cmp.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@
77
// SPDX-License-Identifier: MIT
88
//
99

10-
use clap::Parser;
11-
use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory};
12-
use plib::PROJECT_NAME;
1310
use std::io::{self, ErrorKind, Read};
1411
use std::path::PathBuf;
1512
use std::process::ExitCode;
1613

14+
use clap::Parser;
15+
use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory};
16+
use plib::io::input_reader;
17+
1718
#[derive(Parser)]
1819
#[command(version, about = gettext("cmp - compare two files"))]
1920
struct Args {
@@ -76,8 +77,8 @@ fn cmp_main(args: &Args) -> io::Result<u8> {
7677
return Ok(0);
7778
}
7879

79-
let mut reader1 = plib::io::input_reader(&args.file1, true)?;
80-
let mut reader2 = plib::io::input_reader(&args.file2, true)?;
80+
let mut reader1 = input_reader(&args.file1, true)?;
81+
let mut reader2 = input_reader(&args.file2, true)?;
8182

8283
let mut lines: u64 = 1;
8384
let mut bytes: u64 = 0;
@@ -135,12 +136,11 @@ fn cmp_main(args: &Args) -> io::Result<u8> {
135136
}
136137

137138
fn main() -> ExitCode {
138-
let args = Args::parse();
139-
140-
// Initialize translation system
141139
setlocale(LocaleCategory::LcAll, "");
142-
textdomain(PROJECT_NAME).unwrap();
143-
bind_textdomain_codeset(PROJECT_NAME, "UTF-8").unwrap();
140+
textdomain(env!("PROJECT_NAME")).unwrap();
141+
bind_textdomain_codeset(env!("PROJECT_NAME"), "UTF-8").unwrap();
142+
143+
let mut args = Args::parse();
144144

145145
match cmp_main(&args) {
146146
Ok(x) => ExitCode::from(x),

file/dd.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
// SPDX-License-Identifier: MIT
88
//
99

10-
use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory};
11-
use plib::PROJECT_NAME;
1210
use std::fs;
1311
use std::io::{self, Read, Write};
1412

13+
use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory};
14+
1515
const DEF_BLOCK_SIZE: usize = 512;
1616

1717
const CONV_ASCII_IBM: [u8; 256] = [
@@ -383,8 +383,8 @@ fn parse_cmdline(args: &[String]) -> Result<Config, Box<dyn std::error::Error>>
383383

384384
fn main() -> Result<(), Box<dyn std::error::Error>> {
385385
setlocale(LocaleCategory::LcAll, "");
386-
textdomain(PROJECT_NAME)?;
387-
bind_textdomain_codeset(PROJECT_NAME, "UTF-8")?;
386+
textdomain(env!("PROJECT_NAME"))?;
387+
bind_textdomain_codeset(env!("PROJECT_NAME"), "UTF-8")?;
388388

389389
let args: Vec<String> = std::env::args().skip(1).collect();
390390
let config = parse_cmdline(&args)?;

file/file.rs

+10-13
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,15 @@
99

1010
mod magic;
1111

12-
use crate::magic::{get_type_from_magic_file_dbs, DEFAULT_MAGIC_FILE};
12+
use std::fs::read_link;
13+
use std::os::unix::fs::FileTypeExt;
14+
use std::path::PathBuf;
15+
use std::{fs, io};
1316

1417
use clap::Parser;
1518
use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory};
16-
use plib::PROJECT_NAME;
17-
use std::{
18-
fs::{self, read_link},
19-
io,
20-
os::unix::fs::FileTypeExt,
21-
path::PathBuf,
22-
};
19+
20+
use crate::magic::{get_type_from_magic_file_dbs, DEFAULT_MAGIC_FILE};
2321

2422
#[derive(Parser)]
2523
#[command(
@@ -192,12 +190,11 @@ fn analyze_file(mut path: String, args: &Args, magic_files: &Vec<PathBuf>) {
192190
}
193191

194192
fn main() -> Result<(), Box<dyn std::error::Error>> {
195-
let args = Args::parse();
196-
197-
// Initialize translation system
198193
setlocale(LocaleCategory::LcAll, "");
199-
textdomain(PROJECT_NAME).unwrap();
200-
bind_textdomain_codeset(PROJECT_NAME, "UTF-8").unwrap();
194+
textdomain(env!("PROJECT_NAME"))?;
195+
bind_textdomain_codeset(env!("PROJECT_NAME"), "UTF-8")?;
196+
197+
let args = Args::parse();
201198

202199
let magic_files = get_magic_files(&args);
203200

file/find.rs

+6-5
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
// SPDX-License-Identifier: MIT
88
//
99

10-
use gettextrs::{bind_textdomain_codeset, textdomain};
11-
use plib::PROJECT_NAME;
12-
use regex::Regex;
1310
use std::collections::HashSet;
1411
use std::os::unix::fs::{FileTypeExt, MetadataExt, PermissionsExt};
1512
use std::path::PathBuf;
1613
use std::{env, fs};
14+
15+
use gettextrs::{bind_textdomain_codeset, setlocale, textdomain, LocaleCategory};
16+
use regex::Regex;
1717
use walkdir::{DirEntry, WalkDir};
1818

1919
#[derive(Clone)]
@@ -484,8 +484,9 @@ fn find(args: Vec<String>) -> Result<(), String> {
484484
}
485485

486486
fn main() -> Result<(), Box<dyn std::error::Error>> {
487-
textdomain(PROJECT_NAME)?;
488-
bind_textdomain_codeset(PROJECT_NAME, "UTF-8")?;
487+
setlocale(LocaleCategory::LcAll, "");
488+
textdomain(env!("PROJECT_NAME"))?;
489+
bind_textdomain_codeset(env!("PROJECT_NAME"), "UTF-8")?;
489490

490491
let args: Vec<String> = env::args().collect();
491492

file/od.rs

+9-7
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,19 @@
66
// file in the root directory of this project.
77
// SPDX-License-Identifier: MIT
88
//
9-
//
10-
use crate::io::ErrorKind;
11-
use clap::Parser;
12-
use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory};
13-
use plib::PROJECT_NAME;
9+
1410
use std::fs::File;
1511
use std::io::{self, BufReader, Error, Read, Seek, SeekFrom};
1612
use std::num::ParseIntError;
1713
use std::path::PathBuf;
1814
use std::slice::Chunks;
1915
use std::str::FromStr;
2016

17+
use clap::Parser;
18+
use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory};
19+
20+
use crate::io::ErrorKind;
21+
2122
#[derive(Parser)]
2223
#[command(version, about = gettext("od - dump files in octal and other formats"))]
2324
struct Args {
@@ -1138,10 +1139,11 @@ fn od(args: &Args) -> Result<(), Box<dyn std::error::Error>> {
11381139

11391140
fn main() -> Result<(), Box<dyn std::error::Error>> {
11401141
setlocale(LocaleCategory::LcAll, "");
1141-
textdomain(PROJECT_NAME)?;
1142-
bind_textdomain_codeset(PROJECT_NAME, "UTF-8")?;
1142+
textdomain(env!("PROJECT_NAME"))?;
1143+
bind_textdomain_codeset(env!("PROJECT_NAME"), "UTF-8")?;
11431144

11441145
let mut args = Args::parse();
1146+
11451147
args.validate_args()?;
11461148
let mut exit_code = 0;
11471149

file/split.rs

+12-11
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@
77
// SPDX-License-Identifier: MIT
88
//
99

10-
use clap::Parser;
11-
use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory};
12-
use plib::PROJECT_NAME;
1310
use std::cmp;
1411
use std::fs::{File, OpenOptions};
1512
use std::io::{self, BufRead, Error, ErrorKind, Read, Write};
1613
use std::path::PathBuf;
1714

15+
use clap::Parser;
16+
use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory};
17+
use plib::io::{input_reader, input_stream};
18+
use plib::BUFSZ;
19+
1820
#[derive(Parser)]
1921
#[command(version, about = gettext("split - split a file into pieces"))]
2022
struct Args {
@@ -213,8 +215,8 @@ fn split_by_bytes(args: &Args, bytesplit: String) -> io::Result<()> {
213215
};
214216

215217
// open file, or stdin
216-
let mut file = plib::io::input_stream(&args.file, false)?;
217-
let mut raw_buffer = [0; plib::BUFSZ];
218+
let mut file = input_stream(&args.file, false)?;
219+
let mut raw_buffer = [0; BUFSZ];
218220
let mut state = OutputState::new(&args.prefix, boundary, args.suffix_len);
219221

220222
loop {
@@ -237,7 +239,7 @@ fn split_by_lines(args: &Args, linesplit: u64) -> io::Result<()> {
237239
assert!(linesplit > 0);
238240

239241
// open file, or stdin
240-
let mut reader = plib::io::input_reader(&args.file, false)?;
242+
let mut reader = input_reader(&args.file, false)?;
241243
let mut state = OutputState::new(&args.prefix, linesplit, args.suffix_len);
242244

243245
loop {
@@ -258,12 +260,11 @@ fn split_by_lines(args: &Args, linesplit: u64) -> io::Result<()> {
258260
}
259261

260262
fn main() -> Result<(), Box<dyn std::error::Error>> {
261-
// parse command line arguments
262-
let mut args = Args::parse();
263-
264263
setlocale(LocaleCategory::LcAll, "");
265-
textdomain(PROJECT_NAME)?;
266-
bind_textdomain_codeset(PROJECT_NAME, "UTF-8")?;
264+
textdomain(env!("PROJECT_NAME"))?;
265+
bind_textdomain_codeset(env!("PROJECT_NAME"), "UTF-8")?;
266+
267+
let mut args = Args::parse();
267268

268269
if args.lines.is_none() && args.bytes.is_none() {
269270
args.lines = Some(1000);

file/tee.rs

+10-11
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
// SPDX-License-Identifier: MIT
88
//
99

10-
use clap::Parser;
11-
use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory};
12-
use libc::{signal, SIGINT, SIG_IGN};
13-
use plib::PROJECT_NAME;
1410
use std::fs::{File, OpenOptions};
1511
use std::io::{self, Read, Write};
1612

13+
use clap::Parser;
14+
use gettextrs::{bind_textdomain_codeset, gettext, setlocale, textdomain, LocaleCategory};
15+
use plib::BUFSZ;
16+
1717
#[derive(Parser)]
1818
#[command(version, about = gettext("tee - duplicate standard input"))]
1919
struct Args {
@@ -65,7 +65,7 @@ fn open_outputs(args: &Args, info: &mut TeeInfo) -> io::Result<()> {
6565
}
6666

6767
fn tee_stdin(info: &mut TeeInfo) -> io::Result<()> {
68-
let mut buffer = [0; plib::BUFSZ];
68+
let mut buffer = [0; BUFSZ];
6969

7070
loop {
7171
let n_read_res = io::stdin().read(&mut buffer[..]);
@@ -93,16 +93,15 @@ fn tee_stdin(info: &mut TeeInfo) -> io::Result<()> {
9393
}
9494

9595
fn main() -> Result<(), Box<dyn std::error::Error>> {
96-
// parse command line arguments
97-
let args = Args::parse();
98-
9996
setlocale(LocaleCategory::LcAll, "");
100-
textdomain(PROJECT_NAME)?;
101-
bind_textdomain_codeset(PROJECT_NAME, "UTF-8")?;
97+
textdomain(env!("PROJECT_NAME"))?;
98+
bind_textdomain_codeset(env!("PROJECT_NAME"), "UTF-8")?;
99+
100+
let args = Args::parse();
102101

103102
if args.ignore {
104103
unsafe {
105-
signal(SIGINT, SIG_IGN);
104+
libc::signal(libc::SIGINT, libc::SIG_IGN);
106105
}
107106
}
108107

0 commit comments

Comments
 (0)