Updated the library to use the new rust style and CM code.

This commit is contained in:
Myrddin Dundragon 2020-07-02 23:38:59 -04:00
parent d155ae2a68
commit eb6040c9e5
4 changed files with 22 additions and 20 deletions

View File

@ -7,11 +7,15 @@ license = ""
repository = "https://gitlab.com/CyberMages/mason.git"
documentation = ""
keywords = ["mason", "build"]
edition = "2018"
[dependencies.scribe]
git = "ssh://git@gitlab.com/CyberMages/Core/scribe.git"
[dependencies.weave]
git = "ssh://git@gitlab.com/CyberMages/Core/weave.git"
[dependencies.alchemy]
git = "ssh://git@gitlab.com/CyberMages/Core/alchemy.git"

View File

@ -1,11 +1,3 @@
#[macro_use]
extern crate scribe;
extern crate alchemy;
extern crate spellbook;
mod loader;
mod processor;

View File

@ -1,6 +1,10 @@
use std::fs::File;
use std::io::{Error, ErrorKind, BufReader, BufWriter, Read, Write};
use scribe::{debug, error};
use weave::attempt;
use alchemy::*;
use spellbook::components::Array;
@ -90,16 +94,16 @@ impl Transmutable for Entry
buffer_size = buffer.len() - 1;
skip_size = 0;
name = try!(String::from_endian_bytes(&buffer[skip_size..buffer_size],
name = attempt!(String::from_endian_bytes(&buffer[skip_size..buffer_size],
endianess));
skip_size = skip_size + get_byte_size_of_string(&name);
type_hint =
try!(String::from_endian_bytes(&buffer[skip_size..buffer_size],
attempt!(String::from_endian_bytes(&buffer[skip_size..buffer_size],
endianess));
skip_size = skip_size + get_byte_size_of_string(&type_hint);
path = try!(String::from_endian_bytes(&buffer[skip_size..buffer_size],
path = attempt!(String::from_endian_bytes(&buffer[skip_size..buffer_size],
endianess));
Ok(Entry::new(name, type_hint, path))
@ -118,7 +122,7 @@ impl Transmutable for Entry
buffer.append(&mut self.path.as_endian_bytes(endianess));
// Return the data buffer.
buffer.shrink_to_fit();
//buffer.shrink_to_fit();
buffer
}
@ -176,7 +180,7 @@ impl Loader
let entry: Entry;
entry = Entry::new(name, type_hint, path);
self.entries.push(entry);
self.entries.insert_element(entry);
}
///
@ -209,7 +213,7 @@ impl Loader
}
// Try to write all the data to the file.
try!(writer.write_all(data.as_slice()));
attempt!(writer.write_all(data.as_slice()));
Ok(())
}
@ -218,7 +222,7 @@ impl Loader
fn read_from_file(&mut self, file: File) -> ::std::io::Result<()>
{
let mut pos: usize;
let mut data: Array<u8>;
let mut data: Vec<u8>;
let mut reader: BufReader<File>;
let data_size: usize;
let data_slice: &[u8];
@ -229,14 +233,14 @@ impl Loader
reader = BufReader::new(file);
// Try to read in all of the file.
data = Array::new();
try!(reader.read_to_end(&mut data));
data = Vec::new();
attempt!(reader.read_to_end(&mut data));
data_slice = data.as_slice();
data_size = data_slice.len() - 1;
// Check the header information.
pos = 0;
try!(self.parse_header(&data_slice[pos..HEADER_BYTE_SIZE]));
attempt!(self.parse_header(&data_slice[pos..HEADER_BYTE_SIZE]));
pos = pos + HEADER_BYTE_SIZE;
// Read in each entry.
@ -249,7 +253,7 @@ impl Loader
Ok(entry) =>
{
pos = pos + entry.determine_byte_size();
self.entries.push(entry);
self.entries.insert_element(entry);
}
Err(error) =>

View File

@ -4,7 +4,9 @@ use std::io::{BufRead, BufReader};
use std::path::{Path, PathBuf};
use std::process::Command;
use ::loader::Loader;
use scribe::{debug, info, warn, error};
use crate::Loader;