modified: outdb
modified: src/main.rs
This commit is contained in:
parent
24803a4aaf
commit
088c1dbfa0
16
src/main.rs
16
src/main.rs
@ -393,7 +393,7 @@ fn x_args_to_bytes(args: &Vec<XArgument>) -> Vec<u8> {
|
||||
let h = bincode::serialize(&ChunkHeader {
|
||||
chunk_type: ChunkType::StringTypes.into(),
|
||||
end_of_chunk: 0x18,
|
||||
children_count: 0x18 + s.len() as u32
|
||||
children_count: 16 + 0x18 + s.len() as u32
|
||||
}).unwrap();
|
||||
b = [h, b, s].concat();
|
||||
return b;
|
||||
@ -422,7 +422,7 @@ fn to_bytes(xdb: XDatabase) -> Vec<u8> {
|
||||
for u in 0..playlists.len() {
|
||||
let playlist = playlists.get(u).unwrap();
|
||||
let mut args = x_args_to_bytes(&playlist.args);
|
||||
pl_bytes.append(&mut generate_header(ChunkType::Playlist, std::mem::size_of::<Playlist>(),args.len()));
|
||||
pl_bytes.append(&mut generate_header(ChunkType::Playlist, 36,args.len()));
|
||||
pl_bytes.append(&mut bincode::serialize(&playlist.data).unwrap());
|
||||
pl_bytes.append(&mut args);
|
||||
}
|
||||
@ -438,7 +438,7 @@ fn to_bytes(xdb: XDatabase) -> Vec<u8> {
|
||||
for u in 0..albums.len() {
|
||||
let album = albums.get(u).unwrap();
|
||||
let mut args = x_args_to_bytes(&album.args);
|
||||
al_bytes.append(&mut generate_header(ChunkType::AlbumItem, std::mem::size_of::<AlbumItem>(),args.len()));
|
||||
al_bytes.append(&mut generate_header(ChunkType::AlbumItem, 20,args.len()));
|
||||
al_bytes.append(&mut bincode::serialize(&album.data).unwrap());
|
||||
al_bytes.append(&mut args);
|
||||
}
|
||||
@ -454,7 +454,7 @@ fn to_bytes(xdb: XDatabase) -> Vec<u8> {
|
||||
for u in 0..tracks.len() {
|
||||
let track = tracks.get(u).unwrap();
|
||||
let mut args = x_args_to_bytes(&track.args);
|
||||
tr_bytes.append(&mut generate_header(ChunkType::TrackItem, std::mem::size_of::<TrackItem>(),args.len()));
|
||||
tr_bytes.append(&mut generate_header(ChunkType::TrackItem, 292,args.len()));
|
||||
tr_bytes.append(&mut bincode::serialize(&track.data).unwrap());
|
||||
tr_bytes.append(&mut args);
|
||||
}
|
||||
@ -467,8 +467,10 @@ fn to_bytes(xdb: XDatabase) -> Vec<u8> {
|
||||
}
|
||||
}
|
||||
}
|
||||
bytes = [bincode::serialize(&xdb.data.unwrap()).unwrap(), bytes].concat();
|
||||
bytes = [generate_header(ChunkType::Database, std::mem::size_of::<Database>(), bytes.len()), bytes].concat();
|
||||
let sdb = bincode::serialize(&xdb.data.unwrap()).unwrap();
|
||||
let sdb_len = sdb.len();
|
||||
bytes = [sdb, bytes].concat();
|
||||
bytes = [generate_header(ChunkType::Database, sdb_len, bytes.len()), bytes].concat();
|
||||
bytes
|
||||
}
|
||||
|
||||
@ -479,7 +481,7 @@ fn main() {
|
||||
.filter(None, LevelFilter::Info)
|
||||
.init();
|
||||
|
||||
let mut f = File::open("D:\\Documents\\iTunes\\iTunesDB").unwrap();
|
||||
let mut f = File::open("D:\\Documents\\iTunes\\iTunesDB").unwrap(); // D:\\Documents\\iTunes\\iTunesDB
|
||||
let mut buf = Vec::new();
|
||||
match f.read_to_end(&mut buf) {
|
||||
Ok(n) => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user