From 49ea52c45eee26be51df4969ca2af8c2b7c9ceb6 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Sat, 23 Jul 2016 15:03:42 +0200 Subject: Handling device errors through exceptions Signed-off-by: Szczepan Zalega --- NK_C_API.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'NK_C_API.cc') diff --git a/NK_C_API.cc b/NK_C_API.cc index 8af0128..1695c92 100644 --- a/NK_C_API.cc +++ b/NK_C_API.cc @@ -43,7 +43,13 @@ extern int NK_erase_totp_slot(uint8_t slot_number) { extern int NK_write_hotp_slot(uint8_t slot_number, const char *slot_name, const char *secret, uint8_t hotp_counter, const char *temporary_password) { auto m = NitrokeyManager::instance(); - return m->write_HOTP_slot(slot_number, slot_name, secret, hotp_counter, temporary_password); + try { + m->write_HOTP_slot(slot_number, slot_name, secret, hotp_counter, temporary_password); + } + catch (CommandFailedException & commandFailedException){ + return commandFailedException.last_command_status; + } + return 0; } extern int NK_write_totp_slot(uint8_t slot_number, const char *slot_name, const char *secret, uint16_t time_window, -- cgit v1.2.1