Repair rebase errors
This commit is contained in:
parent
d1bcf790b2
commit
0f3bca673a
|
@ -121,16 +121,16 @@ impl<'de, 'src, S: BinarySource<'de>> TextReader<'de, 'src, S>
|
||||||
|
|
||||||
fn read_hex_float<N: NestedValue>(&mut self, bytecount: usize) -> io::Result<N> {
|
fn read_hex_float<N: NestedValue>(&mut self, bytecount: usize) -> io::Result<N> {
|
||||||
if self.next_byte()? != b'"' {
|
if self.next_byte()? != b'"' {
|
||||||
return Err(io_syntax_error("Missing open-double-quote in hex-encoded floating-point number"));
|
return Err(self.syntax_error("Missing open-double-quote in hex-encoded floating-point number"));
|
||||||
}
|
}
|
||||||
let bs = self.read_hex_binary()?;
|
let bs = self.read_hex_binary()?;
|
||||||
if bs.len() != bytecount {
|
if bs.len() != bytecount {
|
||||||
return Err(io_syntax_error("Incorrect number of bytes in hex-encoded floating-point number"));
|
return Err(self.syntax_error("Incorrect number of bytes in hex-encoded floating-point number"));
|
||||||
}
|
}
|
||||||
match bytecount {
|
match bytecount {
|
||||||
4 => Ok(Value::from(f32::from_bits(u32::from_be_bytes(bs.try_into().unwrap()))).wrap()),
|
4 => Ok(Value::from(f32::from_bits(u32::from_be_bytes(bs.try_into().unwrap()))).wrap()),
|
||||||
8 => Ok(Value::from(f64::from_bits(u64::from_be_bytes(bs.try_into().unwrap()))).wrap()),
|
8 => Ok(Value::from(f64::from_bits(u64::from_be_bytes(bs.try_into().unwrap()))).wrap()),
|
||||||
_ => Err(io_syntax_error("Unsupported byte count in hex-encoded floating-point number")),
|
_ => Err(self.syntax_error("Unsupported byte count in hex-encoded floating-point number")),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -312,23 +312,23 @@ impl<'de, 'src, S: BinarySource<'de>> TextReader<'de, 'src, S>
|
||||||
match c {
|
match c {
|
||||||
b'(' | b')' | b'{' | b'}' | b'[' | b']' | b'<' | b'>' |
|
b'(' | b')' | b'{' | b'}' | b'[' | b']' | b'<' | b'>' |
|
||||||
b'"' | b';' | b',' | b'@' | b'#' | b':' | b'|' | b' ' => {
|
b'"' | b';' | b',' | b'@' | b'#' | b':' | b'|' | b' ' => {
|
||||||
let s = decode_utf8(bs)?;
|
let s = self.decode_utf8(bs)?;
|
||||||
return match NUMBER_RE.captures(&s) {
|
return match NUMBER_RE.captures(&s) {
|
||||||
None => Ok(N::symbol(&s)),
|
None => Ok(N::symbol(&s)),
|
||||||
Some(m) => match m.get(2) {
|
Some(m) => match m.get(2) {
|
||||||
None => Ok(N::new(s.parse::<BigInt>().map_err(
|
None => Ok(N::new(s.parse::<BigInt>().map_err(
|
||||||
|_| io_syntax_error(&format!(
|
|_| self.syntax_error(&format!(
|
||||||
"Invalid signed-integer number: {:?}", s)))?)),
|
"Invalid signed-integer number: {:?}", s)))?)),
|
||||||
Some(_) => {
|
Some(_) => {
|
||||||
if let Some(maybe_f) = m.get(7) {
|
if let Some(maybe_f) = m.get(7) {
|
||||||
let s = m[1].to_owned() + &m[3];
|
let s = m[1].to_owned() + &m[3];
|
||||||
if maybe_f.range().is_empty() {
|
if maybe_f.range().is_empty() {
|
||||||
Ok(N::new(s.parse::<f64>().map_err(
|
Ok(N::new(s.parse::<f64>().map_err(
|
||||||
|_| io_syntax_error(&format!(
|
|_| self.syntax_error(&format!(
|
||||||
"Invalid double-precision number: {:?}", s)))?))
|
"Invalid double-precision number: {:?}", s)))?))
|
||||||
} else {
|
} else {
|
||||||
Ok(N::new(s.parse::<f32>().map_err(
|
Ok(N::new(s.parse::<f32>().map_err(
|
||||||
|_| io_syntax_error(&format!(
|
|_| self.syntax_error(&format!(
|
||||||
"Invalid single-precision number: {:?}", s)))?))
|
"Invalid single-precision number: {:?}", s)))?))
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -396,7 +396,7 @@ impl<'de, 'src, S: BinarySource<'de>> Reader<'de> for TextReader<'de, 'src, S>
|
||||||
b'"' => N::new(&self.read_hex_binary()?[..]),
|
b'"' => N::new(&self.read_hex_binary()?[..]),
|
||||||
b'f' => self.read_hex_float(4)?,
|
b'f' => self.read_hex_float(4)?,
|
||||||
b'd' => self.read_hex_float(8)?,
|
b'd' => self.read_hex_float(8)?,
|
||||||
_ => return Err(io_syntax_error("Invalid #x syntax")),
|
_ => return Err(self.syntax_error("Invalid #x syntax")),
|
||||||
},
|
},
|
||||||
b'[' => self.read_base64_binary()?,
|
b'[' => self.read_base64_binary()?,
|
||||||
b'!' => Value::Embedded(decode_embedded.decode_embedded(self, read_annotations)?).wrap(),
|
b'!' => Value::Embedded(decode_embedded.decode_embedded(self, read_annotations)?).wrap(),
|
||||||
|
|
Loading…
Reference in New Issue