melib/mbox: rename MboxReader to MboxFormat
parent
22a64e2d76
commit
dcccd303ac
|
@ -272,14 +272,14 @@ impl BackendOp for MboxOp {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy)]
|
#[derive(Debug, Clone, Copy)]
|
||||||
pub enum MboxReader {
|
pub enum MboxFormat {
|
||||||
MboxO,
|
MboxO,
|
||||||
MboxRd,
|
MboxRd,
|
||||||
MboxCl,
|
MboxCl,
|
||||||
MboxCl2,
|
MboxCl2,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for MboxReader {
|
impl Default for MboxFormat {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self::MboxCl2
|
Self::MboxCl2
|
||||||
}
|
}
|
||||||
|
@ -322,7 +322,7 @@ macro_rules! find_From__line {
|
||||||
}};
|
}};
|
||||||
}
|
}
|
||||||
|
|
||||||
impl MboxReader {
|
impl MboxFormat {
|
||||||
fn parse<'i>(&self, input: &'i [u8]) -> IResult<&'i [u8], Envelope> {
|
fn parse<'i>(&self, input: &'i [u8]) -> IResult<&'i [u8], Envelope> {
|
||||||
let orig_input = input;
|
let orig_input = input;
|
||||||
let mut input = input;
|
let mut input = input;
|
||||||
|
@ -606,7 +606,7 @@ pub fn mbox_parse(
|
||||||
index: Arc<Mutex<HashMap<EnvelopeHash, (Offset, Length)>>>,
|
index: Arc<Mutex<HashMap<EnvelopeHash, (Offset, Length)>>>,
|
||||||
input: &[u8],
|
input: &[u8],
|
||||||
file_offset: usize,
|
file_offset: usize,
|
||||||
reader: Option<MboxReader>,
|
format: Option<MboxFormat>,
|
||||||
) -> IResult<&[u8], Vec<Envelope>> {
|
) -> IResult<&[u8], Vec<Envelope>> {
|
||||||
if input.is_empty() {
|
if input.is_empty() {
|
||||||
return Err(nom::Err::Error((input, ErrorKind::Tag)));
|
return Err(nom::Err::Error((input, ErrorKind::Tag)));
|
||||||
|
@ -615,9 +615,9 @@ pub fn mbox_parse(
|
||||||
let mut index = index.lock().unwrap();
|
let mut index = index.lock().unwrap();
|
||||||
let mut envelopes = Vec::with_capacity(32);
|
let mut envelopes = Vec::with_capacity(32);
|
||||||
|
|
||||||
let reader = reader.unwrap_or(MboxReader::MboxCl2);
|
let format = format.unwrap_or(MboxFormat::MboxCl2);
|
||||||
while !input[offset + file_offset..].is_empty() {
|
while !input[offset + file_offset..].is_empty() {
|
||||||
let (next_input, env) = match reader.parse(&input[offset + file_offset..]) {
|
let (next_input, env) = match format.parse(&input[offset + file_offset..]) {
|
||||||
Ok(v) => v,
|
Ok(v) => v,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
// Try to recover from this error by finding a new candidate From_ line
|
// Try to recover from this error by finding a new candidate From_ line
|
||||||
|
@ -654,7 +654,7 @@ struct MessageIterator<'a> {
|
||||||
input: &'a [u8],
|
input: &'a [u8],
|
||||||
file_offset: usize,
|
file_offset: usize,
|
||||||
offset: usize,
|
offset: usize,
|
||||||
reader: Option<MboxReader>,
|
format: Option<MboxFormat>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> Iterator for MessageIterator<'a> {
|
impl<'a> Iterator for MessageIterator<'a> {
|
||||||
|
@ -665,10 +665,10 @@ impl<'a> Iterator for MessageIterator<'a> {
|
||||||
}
|
}
|
||||||
let mut index = self.index.lock().unwrap();
|
let mut index = self.index.lock().unwrap();
|
||||||
|
|
||||||
let reader = self.reader.unwrap_or(MboxReader::MboxCl2);
|
let format = self.format.unwrap_or(MboxFormat::MboxCl2);
|
||||||
while !self.input[self.offset + self.file_offset..].is_empty() {
|
while !self.input[self.offset + self.file_offset..].is_empty() {
|
||||||
let (next_input, env) =
|
let (next_input, env) =
|
||||||
match reader.parse(&self.input[self.offset + self.file_offset..]) {
|
match format.parse(&self.input[self.offset + self.file_offset..]) {
|
||||||
Ok(v) => v,
|
Ok(v) => v,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
// Try to recover from this error by finding a new candidate From_ line
|
// Try to recover from this error by finding a new candidate From_ line
|
||||||
|
@ -712,7 +712,7 @@ pub struct MboxType {
|
||||||
collection: Collection,
|
collection: Collection,
|
||||||
mailbox_index: Arc<Mutex<HashMap<EnvelopeHash, MailboxHash>>>,
|
mailbox_index: Arc<Mutex<HashMap<EnvelopeHash, MailboxHash>>>,
|
||||||
mailboxes: Arc<Mutex<HashMap<MailboxHash, MboxMailbox>>>,
|
mailboxes: Arc<Mutex<HashMap<MailboxHash, MboxMailbox>>>,
|
||||||
prefer_mbox_type: Option<MboxReader>,
|
prefer_mbox_type: Option<MboxFormat>,
|
||||||
event_consumer: BackendEventConsumer,
|
event_consumer: BackendEventConsumer,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -741,7 +741,7 @@ impl MailBackend for MboxType {
|
||||||
mailbox_hash: MailboxHash,
|
mailbox_hash: MailboxHash,
|
||||||
mailbox_index: Arc<Mutex<HashMap<EnvelopeHash, MailboxHash>>>,
|
mailbox_index: Arc<Mutex<HashMap<EnvelopeHash, MailboxHash>>>,
|
||||||
mailboxes: Arc<Mutex<HashMap<MailboxHash, MboxMailbox>>>,
|
mailboxes: Arc<Mutex<HashMap<MailboxHash, MboxMailbox>>>,
|
||||||
prefer_mbox_type: Option<MboxReader>,
|
prefer_mbox_type: Option<MboxFormat>,
|
||||||
offset: usize,
|
offset: usize,
|
||||||
file_offset: usize,
|
file_offset: usize,
|
||||||
contents: Vec<u8>,
|
contents: Vec<u8>,
|
||||||
|
@ -756,7 +756,7 @@ impl MailBackend for MboxType {
|
||||||
input: &self.contents.as_slice(),
|
input: &self.contents.as_slice(),
|
||||||
offset: self.offset,
|
offset: self.offset,
|
||||||
file_offset: self.file_offset,
|
file_offset: self.file_offset,
|
||||||
reader: self.prefer_mbox_type,
|
format: self.prefer_mbox_type,
|
||||||
};
|
};
|
||||||
let mut payload = vec![];
|
let mut payload = vec![];
|
||||||
let mut done = false;
|
let mut done = false;
|
||||||
|
@ -1114,10 +1114,10 @@ impl MboxType {
|
||||||
path,
|
path,
|
||||||
prefer_mbox_type: match prefer_mbox_type.as_str() {
|
prefer_mbox_type: match prefer_mbox_type.as_str() {
|
||||||
"auto" => None,
|
"auto" => None,
|
||||||
"mboxo" => Some(MboxReader::MboxO),
|
"mboxo" => Some(MboxFormat::MboxO),
|
||||||
"mboxrd" => Some(MboxReader::MboxRd),
|
"mboxrd" => Some(MboxFormat::MboxRd),
|
||||||
"mboxcl" => Some(MboxReader::MboxCl),
|
"mboxcl" => Some(MboxFormat::MboxCl),
|
||||||
"mboxcl2" => Some(MboxReader::MboxCl2),
|
"mboxcl2" => Some(MboxFormat::MboxCl2),
|
||||||
_ => {
|
_ => {
|
||||||
return Err(MeliError::new(format!(
|
return Err(MeliError::new(format!(
|
||||||
"{} invalid `prefer_mbox_type` value: `{}`",
|
"{} invalid `prefer_mbox_type` value: `{}`",
|
||||||
|
|
Loading…
Reference in New Issue