Skip to content
This repository was archived by the owner on Feb 16, 2024. It is now read-only.

Commit 270ba1c

Browse files
committed
Removed some unwraps
1 parent 558d6c1 commit 270ba1c

File tree

2 files changed

+25
-28
lines changed

2 files changed

+25
-28
lines changed

src/model/owned/table_type/entry.rs

Lines changed: 24 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -62,29 +62,27 @@ impl SimpleEntry {
6262
self.value_data
6363
}
6464

65-
pub fn to_vec(&self) -> Vec<u8> {
65+
pub fn to_vec(&self) -> Result<Vec<u8>> {
6666
let mut out = Vec::new();
6767

6868
// Header size
69-
out.write_u16::<LittleEndian>(8).unwrap();
69+
out.write_u16::<LittleEndian>(8)?;
7070

7171
// Flags => Simple entry
72-
out.write_u16::<LittleEndian>(0).unwrap();
72+
out.write_u16::<LittleEndian>(0)?;
7373

7474
// Key index
75-
out.write_u32::<LittleEndian>(self.get_key() as u32)
76-
.unwrap();
75+
out.write_u32::<LittleEndian>(self.get_key() as u32)?;
7776

7877
// Value type
79-
out.write_u16::<LittleEndian>(8).unwrap();
80-
out.write_u8(0).unwrap();
81-
out.write_u8(self.get_type()).unwrap();
78+
out.write_u16::<LittleEndian>(8)?;
79+
out.write_u8(0)?;
80+
out.write_u8(self.get_type())?;
8281

8382
// Value
84-
out.write_u32::<LittleEndian>(self.get_value() as u32)
85-
.unwrap();
83+
out.write_u32::<LittleEndian>(self.get_value() as u32)?;
8684

87-
out
85+
Ok(out)
8886
}
8987
}
9088

@@ -128,45 +126,44 @@ impl ComplexEntry {
128126
&self.entries
129127
}
130128

131-
pub fn to_vec(&self) -> Vec<u8> {
129+
pub fn to_vec(&self) -> Result<Vec<u8>> {
132130
let mut out = Vec::new();
133131

134132
// Header size
135-
out.write_u16::<LittleEndian>(16).unwrap();
133+
out.write_u16::<LittleEndian>(16)?;
136134

137135
// Flags => Complex entry
138-
out.write_u16::<LittleEndian>(1).unwrap();
136+
out.write_u16::<LittleEndian>(1)?;
139137

140138
// Key index
141-
out.write_u32::<LittleEndian>(self.key_index).unwrap();
139+
out.write_u32::<LittleEndian>(self.key_index)?;
142140

143141
// Parent entry
144-
out.write_u32::<LittleEndian>(self.parent_entry_id).unwrap();
142+
out.write_u32::<LittleEndian>(self.parent_entry_id)?;
145143

146144
// Children entry amount
147145
let children_amount = self.entries.len() as u32;
148146
if children_amount == 0 {
149-
out.write_u32::<LittleEndian>(0xFFFFFFFF).unwrap();
147+
out.write_u32::<LittleEndian>(0xFFFFFFFF)?;
150148
} else {
151-
out.write_u32::<LittleEndian>(self.entries.len() as u32)
152-
.unwrap();
149+
out.write_u32::<LittleEndian>(self.entries.len() as u32)?;
153150
}
154151

155152
for e in &self.entries {
156153
// TODO: Unify this with simple entry without header
157154
// Key index
158-
out.write_u32::<LittleEndian>(e.get_id()).unwrap();
155+
out.write_u32::<LittleEndian>(e.get_id())?;
159156

160157
// Value type
161-
out.write_u16::<LittleEndian>(8).unwrap();
162-
out.write_u8(0).unwrap();
163-
out.write_u8(e.get_type()).unwrap();
158+
out.write_u16::<LittleEndian>(8)?;
159+
out.write_u8(0)?;
160+
out.write_u8(e.get_type())?;
164161

165162
// Value
166-
out.write_u32::<LittleEndian>(e.get_value() as u32).unwrap();
163+
out.write_u32::<LittleEndian>(e.get_value() as u32)?;
167164
}
168165

169-
out
166+
Ok(out)
170167
}
171168
}
172169

@@ -215,11 +212,11 @@ impl Entry {
215212
}
216213
}
217214

218-
pub fn to_vec(&self) -> Vec<u8> {
215+
pub fn to_vec(&self) -> Result<Vec<u8>> {
219216
match *self {
220217
Entry::Complex(ref complex) => complex.to_vec(),
221218
Entry::Simple(ref simple) => simple.to_vec(),
222-
Entry::Empty(_, _) => Vec::new(),
219+
Entry::Empty(_, _) => Ok(Vec::new()),
223220
}
224221
}
225222
}

src/model/owned/table_type/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ impl OwnedBuf for TableTypeBuf {
4141
let mut entries_body = Vec::new();
4242

4343
for e in &self.entries {
44-
let current_entry = e.to_vec();
44+
let current_entry = e.to_vec()?;
4545

4646
if e.is_empty() {
4747
out.write_u32::<LittleEndian>(0xFFFFFFFF)?;

0 commit comments

Comments
 (0)