@@ -233,8 +233,7 @@ impl EncodingRef {
233233}
234234
235235#[ cfg( feature = "encoding" ) ]
236-
237- struct DecodingBufReader < R > {
236+ pub ( crate ) struct DecodingBufReader { //<R> {
238237 // // The buffer
239238 // buffer: String,
240239 // // How many bytes in the buffer currently hold significant data.
@@ -243,44 +242,45 @@ struct DecodingBufReader<R> {
243242 // /// Track whether we see errors.
244243 // encoding: Option<Encoding>,
245244
246- inner : R ,
245+ // inner: R,
247246 decoded_buffer : Vec < u8 > ,
248247 current_pos : usize ,
249248
250249 decoder : ExtDecoder ,
251250 encoding : EncodingRef ,
252251}
253252
254- #[ cfg( feature = "encoding" ) ]
255- impl < R : BufRead > BufRead for DecodingBufReader < R > {
256- fn fill_buf ( & mut self ) -> io:: Result < & [ u8 ] > {
257- self . shuffle ( ) ;
258- let data = self . inner . fill_buf ( ) ?;
253+ // #[cfg(feature = "encoding")]
254+ // impl<R: BufRead> BufRead for DecodingBufReader<R> {
255+ // fn fill_buf(&mut self) -> io::Result<&[u8]> {
256+ // self.shuffle();
257+ // let data = self.inner.fill_buf()?;
259258
260- let amount_read_from_inner = self . feed ( data) ?;
261- self . inner . consume ( amount_read_from_inner) ;
259+ // let amount_read_from_inner = self.feed(data)?;
260+ // self.inner.consume(amount_read_from_inner);
262261
263- Ok ( data)
264- }
262+ // Ok(data)
263+ // }
265264
266- fn consume ( & mut self , amt : usize ) {
267- self . current_pos = std:: cmp:: min ( self . current_pos + amt, self . decoded_buffer . capacity ( ) ) ;
268- }
269- }
265+ // fn consume(&mut self, amt: usize) {
266+ // self.current_pos = std::cmp::min(self.current_pos + amt, self.decoded_buffer.capacity());
267+ // }
268+ // }
270269
271270
272- #[ cfg( feature = "encoding" ) ]
273- impl < R : Read > Read for DecodingBufReader < R > {
274- fn read ( & mut self , buf : & mut [ u8 ] ) -> io:: Result < usize > {
275- self . inner . read ( buf)
276- }
277- }
271+ // #[cfg(feature = "encoding")]
272+ // impl<R: Read> Read for DecodingBufReader<R> {
273+ // fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {
274+ // self.inner.read(buf)
275+ // }
276+ // }
278277
279278#[ cfg( feature = "encoding" ) ]
280- impl < R : BufRead > DecodingBufReader < R > {
281- fn new ( inner : R ) -> Self {
279+ // impl<R: BufRead> DecodingBufReader<R> {
280+ impl DecodingBufReader {
281+ fn new ( ) -> Self {
282282 DecodingBufReader {
283- inner : inner,
283+ // inner: inner,
284284 decoded_buffer : Vec :: new ( ) ,
285285 current_pos : 0 ,
286286
@@ -289,8 +289,12 @@ impl<R: BufRead> DecodingBufReader<R> {
289289 }
290290 }
291291
292- fn get_raw_buffer ( & mut self ) -> io:: Result < & [ u8 ] > {
293- self . inner . fill_buf ( )
292+ // fn get_raw_buffer(&mut self) -> io::Result<&[u8]> {
293+ // self.inner.fill_buf()
294+ // }
295+
296+ fn buffer ( & self ) -> & [ u8 ] {
297+ & self . decoded_buffer
294298 }
295299
296300 /// Move unconsumed data to the front of the buffer and reset the length
@@ -342,7 +346,15 @@ impl<R: BufRead> DecodingBufReader<R> {
342346
343347#[ cfg( test) ]
344348mod tests {
349+ #[ cfg( feature = "encoding" ) ]
350+ #[ test]
351+ fn basic ( ) {
352+ use super :: DecodingBufReader ;
345353
354+ let mut reader = DecodingBufReader :: new ( ) ;
355+ reader. feed ( b"mary had a little lamb" ) . unwrap ( ) ;
356+ panic ! ( "{:?}" , reader. decoded_buffer) ;
357+ }
346358}
347359
348360
0 commit comments