@@ -128,27 +128,26 @@ fn main() {
128128
129129 pool. scoped ( |scope| {
130130 for path in paths {
131- let ch: SyncSender < u8 > = w_chan. clone ( ) ;
131+ let ch: SyncSender < Result < u8 , std :: io :: Error > > = w_chan. clone ( ) ;
132132 let l_ch: SyncSender < Option < String > > = logging_tx. clone ( ) ;
133133 scope. execute ( move || {
134134 if !check:: is_dir ( path. as_path ( ) ) {
135135 let p = path. clone ( ) ;
136136 match Mmap :: open_path ( path, Protection :: Read ) {
137137 Ok ( map) => {
138138 let buf = unsafe { map. as_slice ( ) } ;
139- let r = check:: check_path ( p. as_path ( ) ,
140- buf,
141- clean_f,
142- !quiet_f,
143- max_line_length,
144- if tabs_f {
145- clean:: TabStrategy :: Tabify
146- } else {
147- clean:: TabStrategy :: Untabify
148- } ,
149- l_ch)
150- . ok ( )
151- . expect ( & format ! ( "check_path for {:?} should work" , p) ) ;
139+ let r = check:: check_path (
140+ p. as_path ( ) ,
141+ buf,
142+ clean_f,
143+ !quiet_f,
144+ max_line_length,
145+ if tabs_f {
146+ clean:: TabStrategy :: Tabify
147+ } else {
148+ clean:: TabStrategy :: Untabify
149+ } ,
150+ l_ch) ;
152151 ch. send ( r) . unwrap ( ) ;
153152 }
154153 Err ( e) => {
@@ -157,7 +156,7 @@ fn main() {
157156 Err ( _) => panic ! ( "mmap read error: {}" , e) ,
158157 } ;
159158 if len == 0 {
160- ch. send ( 0 ) . unwrap ( ) ;
159+ ch. send ( Ok ( 0 ) ) . unwrap ( ) ;
161160 } else {
162161 panic ! ( "unexpected result for {:?}" , p) ;
163162 }
@@ -170,22 +169,29 @@ fn main() {
170169 } ) ;
171170 for _ in 0 ..count {
172171 match r_chan. recv ( ) {
173- Ok ( r) => {
174- if ( r & check:: HAS_TABS ) > 0 {
175- had_tabs += 1
176- }
177- if ( r & check:: TRAILING_SPACES ) > 0 {
178- had_trailing_ws += 1
179- }
180- if ( r & check:: HAS_ILLEGAL_CHARACTERS ) > 0 {
181- had_illegals += 1
182- }
183- if ( r & check:: LINE_TOO_LONG ) > 0 {
184- had_too_long_lines += 1
172+ Ok ( res) => {
173+ match res {
174+ Ok ( r) => {
175+ if ( r & check:: HAS_TABS ) > 0 {
176+ had_tabs += 1
177+ }
178+ if ( r & check:: TRAILING_SPACES ) > 0 {
179+ had_trailing_ws += 1
180+ }
181+ if ( r & check:: HAS_ILLEGAL_CHARACTERS ) > 0 {
182+ had_illegals += 1
183+ }
184+ if ( r & check:: LINE_TOO_LONG ) > 0 {
185+ had_too_long_lines += 1
186+ }
187+ }
188+ Err ( e) => {
189+ println ! ( "error occured here: {}" , e) ;
190+ }
185191 }
186192 }
187193 Err ( e) => {
188- panic ! ( "error: {}" , e) ;
194+ panic ! ( "error in channel : {}" , e) ;
189195 }
190196 }
191197 checked_files += 1 ;
0 commit comments