diff options
author | Quentin Dufour <quentin@deuxfleurs.fr> | 2024-05-23 08:55:53 +0200 |
---|---|---|
committer | Quentin Dufour <quentin@deuxfleurs.fr> | 2024-05-23 08:55:53 +0200 |
commit | a859fe38b1044c576f042254a0f9677054b417a0 (patch) | |
tree | 19a009c49f433afefd930f37db12cec8aef9f255 /aero-dav/src/xml.rs | |
parent | 54d10ed48274607c7bc4e0fd5fb1919f57317b70 (diff) | |
download | aerogramme-a859fe38b1044c576f042254a0f9677054b417a0.tar.gz aerogramme-a859fe38b1044c576f042254a0f9677054b417a0.zip |
test calendar-query vevent filtering
Diffstat (limited to 'aero-dav/src/xml.rs')
-rw-r--r-- | aero-dav/src/xml.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/aero-dav/src/xml.rs b/aero-dav/src/xml.rs index c89f531..e59f136 100644 --- a/aero-dav/src/xml.rs +++ b/aero-dav/src/xml.rs @@ -229,7 +229,10 @@ impl<T: IRead> Reader<T> { } pub async fn maybe_find<N: Node<N>>(&mut self) -> Result<Option<N>, ParsingError> { - self.ensure_parent_has_child()?; + // We can't find anything inside a self-closed tag + if !self.parent_has_child() { + return Ok(None); + } loop { // Try parse @@ -238,6 +241,7 @@ impl<T: IRead> Reader<T> { otherwise => return otherwise.map(Some), } + // Skip or stop match self.peek() { Event::End(_) => return Ok(None), _ => self.skip().await?, |