Skip to content

Commit c48efdd

Browse files
committed
Generalize hex tracing
1 parent 7d1b1ea commit c48efdd

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

src/u2ftypes.rs

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,7 @@
55
use std::{cmp, fmt, io, str};
66

77
use crate::consts::*;
8-
use crate::util::io_err;
9-
10-
use log;
11-
12-
pub fn to_hex(data: &[u8], joiner: &str) -> String {
13-
let parts: Vec<String> = data.iter().map(|byte| format!("{:02x}", byte)).collect();
14-
parts.join(joiner)
15-
}
16-
17-
pub fn trace_hex(data: &[u8]) {
18-
if log_enabled!(log::Level::Trace) {
19-
trace!("USB send: {}", to_hex(data, ""));
20-
}
21-
}
8+
use crate::util::{io_err, trace_hex, to_hex};
229

2310
// Trait for representing U2F HID Devices. Requires getters/setters for the
2411
// channel ID, created during device initialization.
@@ -99,7 +86,7 @@ impl U2FHIDInit {
9986

10087
let count = cmp::min(data.len(), dev.out_init_data_size());
10188
frame[8..8 + count].copy_from_slice(&data[..count]);
102-
trace_hex(&frame);
89+
trace_hex("USB send", &frame);
10390

10491
if dev.write(&frame)? != frame.len() {
10592
return Err(io_err("device write failed"));
@@ -152,7 +139,7 @@ impl U2FHIDCont {
152139

153140
let count = cmp::min(data.len(), dev.out_cont_data_size());
154141
frame[6..6 + count].copy_from_slice(&data[..count]);
155-
trace_hex(&frame);
142+
trace_hex("USB send", &frame);
156143

157144
if dev.write(&frame)? != frame.len() {
158145
return Err(io_err("device write failed"));

src/util.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ extern crate libc;
66

77
use std::io;
88

9+
use log;
10+
911
macro_rules! try_or {
1012
($val:expr, $or:expr) => {
1113
match $val {
@@ -65,3 +67,14 @@ pub fn from_unix_result<T: Signed>(rv: T) -> io::Result<T> {
6567
pub fn io_err(msg: &str) -> io::Error {
6668
io::Error::new(io::ErrorKind::Other, msg)
6769
}
70+
71+
pub fn to_hex(data: &[u8], joiner: &str) -> String {
72+
let parts: Vec<String> = data.iter().map(|byte| format!("{:02x}", byte)).collect();
73+
parts.join(joiner)
74+
}
75+
76+
pub fn trace_hex(label: &str, data: &[u8]) {
77+
if log_enabled!(log::Level::Trace) {
78+
trace!("{}: {}", label, to_hex(data, ""));
79+
}
80+
}

0 commit comments

Comments
 (0)