1616//! which contains tectonic's main CLI program.
1717
1818use byte_unit:: Byte ;
19- use quick_xml:: { events:: Event , Reader } ;
19+ use quick_xml:: { events:: Event , NsReader } ;
2020use std:: {
2121 collections:: { HashMap , HashSet } ,
2222 fs:: File ,
@@ -2053,13 +2053,13 @@ impl ProcessingSession {
20532053 }
20542054
20552055 let curs = Cursor :: new ( & run_xml_entry. data [ ..] ) ;
2056- let mut reader = Reader :: from_reader ( curs) ;
2056+ let mut reader = NsReader :: from_reader ( curs) ;
20572057 let mut buf = Vec :: new ( ) ;
20582058 let mut state = State :: Searching ;
20592059
20602060 loop {
20612061 let event = ctry ! (
2062- reader. read_event ( & mut buf) ;
2062+ reader. read_event_into ( & mut buf) ;
20632063 "error parsing run.xml file"
20642064 ) ;
20652065
@@ -2069,15 +2069,15 @@ impl ProcessingSession {
20692069
20702070 match ( state, event) {
20712071 ( State :: Searching , Event :: Start ( ref e) ) => {
2072- let name = reader. decode ( e. local_name ( ) ) ?;
2072+ let name = reader. decoder ( ) . decode ( e. local_name ( ) . into_inner ( ) ) ?;
20732073
20742074 if name == "binary" {
20752075 state = State :: InBinaryName ;
20762076 }
20772077 }
20782078
20792079 ( State :: InBinaryName , Event :: Text ( ref e) ) => {
2080- let text = e. unescape_and_decode ( & reader ) ?;
2080+ let text = e. unescape ( ) ?;
20812081
20822082 state = if & text == "biber" {
20832083 State :: InBiberCmdline
@@ -2091,65 +2091,65 @@ impl ProcessingSession {
20912091 }
20922092
20932093 ( State :: InBiberCmdline , Event :: Start ( ref e) ) => {
2094- let name = reader. decode ( e. local_name ( ) ) ?;
2094+ let name = reader. decoder ( ) . decode ( e. local_name ( ) . into_inner ( ) ) ?;
20952095
20962096 // Note that the "infile" might be `foo` without the `.bcf`
20972097 // extension, so we can't use it for file-finding.
2098- state = match name {
2098+ state = match & * name {
20992099 "infile" | "outfile" | "option" => State :: InBiberArgument ,
21002100 _ => State :: InBiberRemainder ,
21012101 }
21022102 }
21032103
21042104 ( State :: InBiberCmdline , Event :: End ( ref e) ) => {
2105- let name = reader. decode ( e. local_name ( ) ) ?;
2105+ let name = reader. decoder ( ) . decode ( e. local_name ( ) . into_inner ( ) ) ?;
21062106
21072107 if name == "cmdline" {
21082108 state = State :: InBiberRemainder ;
21092109 }
21102110 }
21112111
21122112 ( State :: InBiberArgument , Event :: Text ( ref e) ) => {
2113- argv. push ( e. unescape_and_decode ( & reader ) ? ) ;
2113+ argv. push ( e. unescape ( ) ? . to_string ( ) ) ;
21142114 state = State :: InBiberCmdline ;
21152115 }
21162116
21172117 ( State :: InBiberRemainder , Event :: Start ( ref e) ) => {
2118- let name = reader. decode ( e. local_name ( ) ) ?;
2118+ let name = reader. decoder ( ) . decode ( e. local_name ( ) . into_inner ( ) ) ?;
21192119
2120- state = match name {
2120+ state = match & * name {
21212121 "input" | "requires" => State :: InBiberRequirementSection ,
21222122 _ => State :: InBiberRemainder ,
21232123 }
21242124 }
21252125
21262126 ( State :: InBiberRemainder , Event :: End ( ref e) ) => {
2127- let name = reader. decode ( e. local_name ( ) ) ?;
2127+ let name = reader. decoder ( ) . decode ( e. local_name ( ) . into_inner ( ) ) ?;
21282128
21292129 if name == "external" {
21302130 break ;
21312131 }
21322132 }
21332133
21342134 ( State :: InBiberRequirementSection , Event :: Start ( ref e) ) => {
2135- let name = reader. decode ( e. local_name ( ) ) ?;
2135+ let name = reader. decoder ( ) . decode ( e. local_name ( ) . into_inner ( ) ) ?;
21362136
2137- state = match name {
2137+ state = match & * name {
21382138 "file" => State :: InBiberFileRequirement ,
21392139 _ => State :: InBiberRemainder ,
21402140 }
21412141 }
21422142
21432143 ( State :: InBiberRequirementSection , Event :: End ( ref e) ) => {
2144- let name = reader. decode ( e. local_name ( ) ) ?;
2144+ let name = reader. decoder ( ) . decode ( e. local_name ( ) . into_inner ( ) ) ?;
21452145
21462146 if name == "input" || name == "requires" {
21472147 state = State :: InBiberRemainder ;
21482148 }
21492149 }
21502150
21512151 ( State :: InBiberFileRequirement , Event :: Text ( ref e) ) => {
2152- extra_requires. insert ( e. unescape_and_decode ( & reader ) ? ) ;
2152+ extra_requires. insert ( e. unescape ( ) ? . to_string ( ) ) ;
21532153 state = State :: InBiberRequirementSection ;
21542154 }
21552155
0 commit comments