summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2018-05-04 15:25:33 +0200
committerYorhel <git@yorhel.nl>2018-05-04 15:25:35 +0200
commit7aa89145caf4fb3ee26a7ca0c611b6395567cc1b (patch)
treea40e3c3f8b55765f73e037001476972c98fdbbf3
parentcec70a59c47ef7e51f89609283387d171f3f8726 (diff)
indexer: Re-use memory buffer when reading RPM repo data
This avoids reading the entire uncompressed XML into a buffer.
-rw-r--r--indexer/src/sys_rpm.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/indexer/src/sys_rpm.rs b/indexer/src/sys_rpm.rs
index 068ff8f..6e16916 100644
--- a/indexer/src/sys_rpm.rs
+++ b/indexer/src/sys_rpm.rs
@@ -73,6 +73,7 @@ fn readpkgs<F>(url: String, mut cb: F) -> Result<(),Box<Error>>
let arch_src = Some("src".to_string());
loop {
+ buf.clear();
let event = xml.read_event(&mut buf);
let event = event.map_err(to_err)?;
@@ -141,6 +142,7 @@ fn repomd(url: String) -> Result<(String,String),Box<Error>> {
let mut buf = Vec::new();
loop {
+ buf.clear();
let event = xml.read_event(&mut buf).map_err(to_err)?;
match event {
Event::Start(ref e) |