X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fcommon%2Flogger.rs;h=824e26ca10b2025e6cd906804a8109897922354d;hb=99c805f45e471c22cd27746c3c2fb7a836939d8d;hp=2154a01b7fd901fb24e2d68e900d3d44099449b2;hpb=9b597c27de391182ec515bc125451933d5340067;p=gps-watch.git diff --git a/src/common/logger.rs b/src/common/logger.rs index 2154a01..824e26c 100644 --- a/src/common/logger.rs +++ b/src/common/logger.rs @@ -430,8 +430,10 @@ impl<'a> Logger<'a> { let this_sector = self.first_sector + self.sectors_written; - self.storage.write(this_sector as usize * SECTOR_SIZE, - &self.write_buffer); + if self.storage.write(this_sector as usize * SECTOR_SIZE, + &self.write_buffer).is_err() { + // XXX + } self.sectors_written += 1; @@ -553,8 +555,10 @@ impl<'a> Logger<'a> { // our buffer with 0xff, so we don't need to do anything here. let this_sector = self.first_sector + self.sectors_written; - self.storage.write(this_sector as usize * SECTOR_SIZE, - &self.write_buffer); + if self.storage.write(this_sector as usize * SECTOR_SIZE, + &self.write_buffer).is_err() { + // XXX + } self.sectors_written += 1; @@ -570,6 +574,21 @@ impl<'a> Logger<'a> { self.write_buffer_offset += num_bytes_written; } + /// + /// Check whether or not recording @p recording_id exists. + pub fn has_recording(&mut self, recording_id: u16) -> bool { + if recording_id == 0 { + return false; + } + + self.sector_header_iter().find(|&index| { + let sector_header = &self.sector_header[index as usize]; + + sector_header.recording_id == recording_id && + sector_header.starts_recording() + }).is_some() + } + /// /// Retrieve recording @p recording_id and /// write it to @p tx_buf in yencoded form.