fix: metadata parsing
This commit is contained in:
+3
-8
@@ -154,8 +154,6 @@ macro_rules! parse_general_body {
|
|||||||
macro_rules! parse_metadata_body {
|
macro_rules! parse_metadata_body {
|
||||||
($self:ident, $reader:ident, $section:ident) => {{
|
($self:ident, $reader:ident, $section:ident) => {{
|
||||||
let mut empty = true;
|
let mut empty = true;
|
||||||
let mut creator = None;
|
|
||||||
let mut beatmap_id = None;
|
|
||||||
|
|
||||||
while next_line!($reader)? != 0 {
|
while next_line!($reader)? != 0 {
|
||||||
if let Some(bytes) = $reader.get_section() {
|
if let Some(bytes) = $reader.get_section() {
|
||||||
@@ -167,17 +165,14 @@ macro_rules! parse_metadata_body {
|
|||||||
let (key, value) = $reader.split_colon().ok_or(ParseError::BadLine)?;
|
let (key, value) = $reader.split_colon().ok_or(ParseError::BadLine)?;
|
||||||
|
|
||||||
if key == b"Creator" {
|
if key == b"Creator" {
|
||||||
creator = Some(value)
|
$self.creator = value.to_string();
|
||||||
} else if key == b"BeatmapID" {
|
} else if key == b"BeatmapID" {
|
||||||
if let Some(val) = u32::parse_in_range(value) {
|
if let Some(val) = u32::from_str(value).ok() {
|
||||||
beatmap_id = Some(val);
|
$self.beatmap_id = val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$self.creator = creator.unwrap_or("").to_string();
|
|
||||||
$self.beatmap_id = beatmap_id.unwrap_or(0);
|
|
||||||
|
|
||||||
Ok(empty)
|
Ok(empty)
|
||||||
}};
|
}};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user