aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/config.rs11
-rw-r--r--src/device/mod.rs8
2 files changed, 12 insertions, 7 deletions
diff --git a/src/config.rs b/src/config.rs
index cb678d7..9b9de3c 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -83,6 +83,17 @@ impl convert::TryFrom<Config> for RawConfig {
}
}
+impl From<&nitrokey_sys::NK_status> for RawConfig {
+ fn from(status: &nitrokey_sys::NK_status) -> Self {
+ Self {
+ numlock: status.config_numlock,
+ capslock: status.config_capslock,
+ scrollock: status.config_scrolllock,
+ user_password: status.otp_user_password,
+ }
+ }
+}
+
impl From<[u8; 5]> for RawConfig {
fn from(data: [u8; 5]) -> Self {
RawConfig {
diff --git a/src/device/mod.rs b/src/device/mod.rs
index a25ad1b..403bb1f 100644
--- a/src/device/mod.rs
+++ b/src/device/mod.rs
@@ -191,13 +191,7 @@ impl From<nitrokey_sys::NK_status> for Status {
minor: status.firmware_version_minor,
},
serial_number: status.serial_number_smart_card,
- config: RawConfig {
- numlock: status.config_numlock,
- capslock: status.config_capslock,
- scrollock: status.config_scrolllock,
- user_password: status.otp_user_password,
- }
- .into(),
+ config: RawConfig::from(&status).into(),
}
}
}