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 ;
1310use std:: cmp;
1411use std:: fs:: { File , OpenOptions } ;
1512use std:: io:: { self , BufRead , Error , ErrorKind , Read , Write } ;
1613use 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" ) ) ]
2022struct 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
260262fn 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 ) ;
0 commit comments