@@ -26,7 +26,7 @@ impl MPDProcessor {
2626 pub fn new ( reader : BufReader < MPDReader > ) -> Self {
2727 let mut reader = Reader :: from_reader ( reader) ;
2828 reader. expand_empty_elements ( false ) ;
29- reader. trim_text ( true ) ;
29+ reader. trim_text ( false ) ;
3030 reader. check_end_names ( false ) ;
3131 MPDProcessor {
3232 reader,
@@ -349,8 +349,10 @@ impl MPDProcessor {
349349
350350 loop {
351351 match self . read_next_event ( ) {
352- Ok ( Event :: Text ( t) ) => {
353- if t. len ( ) > 0 {
352+ Ok ( Event :: Text ( mut t) ) => {
353+ t. inplace_trim_start ( ) ;
354+ t. inplace_trim_end ( ) ;
355+ if !t. is_empty ( ) {
354356 match t. unescape ( ) {
355357 Ok ( unescaped) => AttributeName :: Location . report ( unescaped) ,
356358 Err ( err) => ParsingError :: from ( err) . report_err ( ) ,
@@ -387,8 +389,10 @@ impl MPDProcessor {
387389
388390 loop {
389391 match self . read_next_event ( ) {
390- Ok ( Event :: Text ( t) ) => {
391- if t. len ( ) > 0 {
392+ Ok ( Event :: Text ( mut t) ) => {
393+ t. inplace_trim_start ( ) ;
394+ t. inplace_trim_end ( ) ;
395+ if !t. is_empty ( ) {
392396 match t. unescape ( ) {
393397 Ok ( unescaped) => AttributeName :: Text . report ( unescaped) ,
394398 Err ( err) => ParsingError :: from ( err) . report_err ( ) ,
@@ -425,8 +429,10 @@ impl MPDProcessor {
425429
426430 loop {
427431 match self . read_next_event ( ) {
428- Ok ( Event :: Text ( t) ) => {
429- if t. len ( ) > 0 {
432+ Ok ( Event :: Text ( mut t) ) => {
433+ t. inplace_trim_start ( ) ;
434+ t. inplace_trim_end ( ) ;
435+ if !t. is_empty ( ) {
430436 match t. unescape ( ) {
431437 Ok ( unescaped) => AttributeName :: Text . report ( unescaped) ,
432438 Err ( err) => ParsingError :: from ( err) . report_err ( ) ,
@@ -463,8 +469,10 @@ impl MPDProcessor {
463469
464470 loop {
465471 match self . read_next_event ( ) {
466- Ok ( Event :: Text ( t) ) => {
467- if t. len ( ) > 0 {
472+ Ok ( Event :: Text ( mut t) ) => {
473+ t. inplace_trim_start ( ) ;
474+ t. inplace_trim_end ( ) ;
475+ if !t. is_empty ( ) {
468476 match t. unescape ( ) {
469477 Ok ( unescaped) =>
470478 // TODO parse from base64 here?
0 commit comments