fix formatting

master
Ales Katona 4 years ago
parent f9706bd558
commit 74b05cef35
Signed by: almindor
GPG Key ID: 2F773149BF38B48F

@ -5,7 +5,7 @@ use crate::error::Error;
pub trait Output<R> pub trait Output<R>
where where
R: Relocatable R: Relocatable,
{ {
fn process_section(&mut self, section: Section<R::Index>) -> Result<(), Error>; fn process_section(&mut self, section: Section<R::Index>) -> Result<(), Error>;
@ -16,7 +16,7 @@ pub struct DummyOutput;
impl<R> Output<R> for DummyOutput impl<R> Output<R> for DummyOutput
where where
R: Relocatable R: Relocatable,
{ {
fn process_section(&mut self, section: Section<R::Index>) -> Result<(), Error> { fn process_section(&mut self, section: Section<R::Index>) -> Result<(), Error> {
eprintln!("Appending section: {}", section); eprintln!("Appending section: {}", section);

@ -1,4 +1,8 @@
use std::{convert::TryFrom, fmt::Display, path::{Path, PathBuf}}; use std::{
convert::TryFrom,
fmt::Display,
path::{Path, PathBuf},
};
use crate::common::{Relocatable, Section, SectionInfo}; use crate::common::{Relocatable, Section, SectionInfo};
use crate::{common::BSI, error::Error}; use crate::{common::BSI, error::Error};
@ -41,8 +45,8 @@ impl Relocatable for ElfObject {
fn sections<'iter>(self: &'iter Self) -> BSI<'iter, (usize, usize)> { fn sections<'iter>(self: &'iter Self) -> BSI<'iter, (usize, usize)> {
use elf_utilities::section::{Contents64, Type}; use elf_utilities::section::{Contents64, Type};
let iter = self let iter =
.elf self.elf
.sections .sections
.iter() .iter()
.enumerate() .enumerate()
@ -91,7 +95,7 @@ impl Relocatable for ElfObject {
match &section.contents { match &section.contents {
Contents64::Raw(v) => Ok(&v), Contents64::Raw(v) => Ok(&v),
_ => Err(Error::InvalidSectionData) _ => Err(Error::InvalidSectionData),
} }
} }
} }

@ -1,5 +1,5 @@
use crate::common::{Relocatable, Section};
use crate::common::SectionInfo; use crate::common::SectionInfo;
use crate::common::{Relocatable, Section};
use crate::error::Error; use crate::error::Error;
use super::ElfObject; use super::ElfObject;
@ -44,7 +44,10 @@ impl<'data> OutputData {
.map(|(i, s)| (SEGMENT_NAMES[i], s)) .map(|(i, s)| (SEGMENT_NAMES[i], s))
} }
pub fn program_bytes<'l>(&'l self, objects: &'l Vec<ElfObject>) -> impl Iterator<Item = Result<&'l [u8], Error>> { pub fn program_bytes<'l>(
&'l self,
objects: &'l Vec<ElfObject>,
) -> impl Iterator<Item = Result<&'l [u8], Error>> {
let text_iter = self.0[SI_TEXT].iter(); let text_iter = self.0[SI_TEXT].iter();
let rodata_iter = self.0[SI_RODATA].iter(); let rodata_iter = self.0[SI_RODATA].iter();
@ -62,8 +65,13 @@ impl<'data> OutputData {
iter iter
} }
pub fn data_bytes<'l>(&'l self, objects: &'l Vec<ElfObject>) -> impl Iterator<Item = Result<&'l [u8], Error>> { pub fn data_bytes<'l>(
let iter = self.0[SI_DATA].iter().filter_map(move |si| match si.data_index { &'l self,
objects: &'l Vec<ElfObject>,
) -> impl Iterator<Item = Result<&'l [u8], Error>> {
let iter = self.0[SI_DATA]
.iter()
.filter_map(move |si| match si.data_index {
None => None, None => None,
Some(di) => Some(objects[di.0].section_data(di)), Some(di) => Some(objects[di.0].section_data(di)),
}); });

@ -1,4 +1,8 @@
use std::{fmt::Display, io::ErrorKind, path::{Path, PathBuf}}; use std::{
fmt::Display,
io::ErrorKind,
path::{Path, PathBuf},
};
use crate::{ use crate::{
common::{Output, Relocatable}, common::{Output, Relocatable},

Loading…
Cancel
Save