diff options
author | Szczepan Zalega <szczepan@nitrokey.com> | 2016-07-23 15:03:42 +0200 |
---|---|---|
committer | Szczepan Zalega <szczepan@nitrokey.com> | 2016-08-01 13:54:56 +0200 |
commit | 49ea52c45eee26be51df4969ca2af8c2b7c9ceb6 (patch) | |
tree | 91c0eb42eeda7286c8b5e83041b71e763f183d2e /NK_C_API.cc | |
parent | 7eb15813ffa2c2766e53245311b017c3b9c196fb (diff) | |
download | libnitrokey-49ea52c45eee26be51df4969ca2af8c2b7c9ceb6.tar.gz libnitrokey-49ea52c45eee26be51df4969ca2af8c2b7c9ceb6.tar.bz2 |
Handling device errors through exceptions
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
Diffstat (limited to 'NK_C_API.cc')
-rw-r--r-- | NK_C_API.cc | 8 |
1 files changed, 7 insertions, 1 deletions
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, |