@@ -285,16 +285,10 @@ fn read_input(input_files: &[OsString], config: &Config) -> std::io::Result<File
285285 let mut file_map: FileMap = HashMap :: new ( ) ;
286286 let mut offset: usize = 0 ;
287287
288- let sentence_splitter = if let Some ( re_str) = & config. sentence_regex {
289- Some ( Regex :: new ( re_str) . map_err ( |e| {
290- std:: io:: Error :: new (
291- std:: io:: ErrorKind :: InvalidInput ,
292- translate ! ( "ptx-error-invalid-regexp" , "error" => e) ,
293- )
294- } ) ?)
295- } else {
296- None
297- } ;
288+ let sentence_splitter = config
289+ . sentence_regex
290+ . as_ref ( )
291+ . and_then ( |re_str| Regex :: new ( re_str) . ok ( ) ) ;
298292
299293 for filename in input_files {
300294 let mut reader: BufReader < Box < dyn Read > > = BufReader :: new ( if filename == "-" {
@@ -343,8 +337,13 @@ fn read_lines(
343337
344338/// Go through every lines in the input files and record each match occurrence as a `WordRef`.
345339fn create_word_set ( config : & Config , filter : & WordFilter , file_map : & FileMap ) -> BTreeSet < WordRef > {
346- let reg = Regex :: new ( & filter. word_regex ) . unwrap ( ) ;
347- let ref_reg = Regex :: new ( & config. context_regex ) . unwrap ( ) ;
340+ let Some ( reg) = Regex :: new ( & filter. word_regex ) . ok ( ) else {
341+ return BTreeSet :: new ( ) ;
342+ } ;
343+ let Some ( ref_reg) = Regex :: new ( & config. context_regex ) . ok ( ) else {
344+ return BTreeSet :: new ( ) ;
345+ } ;
346+
348347 let mut word_set: BTreeSet < WordRef > = BTreeSet :: new ( ) ;
349348 for ( file, lines) in file_map {
350349 let mut count: usize = 0 ;
0 commit comments