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,  | 
