From e66c8eec0130e1e11a5019a3343cf6a983547d9d Mon Sep 17 00:00:00 2001 From: Dominic Spill Date: Sun, 5 Feb 2017 22:35:51 -0700 Subject: [PATCH] Check function return values when reading registers --- host/hackrf-tools/src/hackrf_max2837.c | 21 ++++++++++++++++++--- host/hackrf-tools/src/hackrf_rffc5071.c | 15 +++++++++++++++ host/hackrf-tools/src/hackrf_si5351c.c | 17 +++++++++++++++-- 3 files changed, 48 insertions(+), 5 deletions(-) diff --git a/host/hackrf-tools/src/hackrf_max2837.c b/host/hackrf-tools/src/hackrf_max2837.c index f52ca9e1..f64761b3 100644 --- a/host/hackrf-tools/src/hackrf_max2837.c +++ b/host/hackrf-tools/src/hackrf_max2837.c @@ -199,13 +199,28 @@ int main(int argc, char** argv) { if(write) { result = write_register(device, register_number, register_value); - } + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; + } + } if(read) { if(register_number == REGISTER_INVALID) { result = dump_registers(device); - } else { - result = dump_register(device, register_number); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; + } + } + } else { + result = dump_register(device, register_number); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; } } diff --git a/host/hackrf-tools/src/hackrf_rffc5071.c b/host/hackrf-tools/src/hackrf_rffc5071.c index 867bc379..f9d478e3 100644 --- a/host/hackrf-tools/src/hackrf_rffc5071.c +++ b/host/hackrf-tools/src/hackrf_rffc5071.c @@ -196,13 +196,28 @@ int main(int argc, char** argv) { if(write) { result = write_register(device, register_number, register_value); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; + } } if(read) { if(register_number == REGISTER_INVALID) { result = dump_registers(device); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; + } } else { result = dump_register(device, register_number); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; + } } } diff --git a/host/hackrf-tools/src/hackrf_si5351c.c b/host/hackrf-tools/src/hackrf_si5351c.c index 7c8712c4..7b01f947 100644 --- a/host/hackrf-tools/src/hackrf_si5351c.c +++ b/host/hackrf-tools/src/hackrf_si5351c.c @@ -292,16 +292,29 @@ int main(int argc, char** argv) { } if(write) { - if( result == HACKRF_SUCCESS ) { - result = write_register(device, register_number, register_value); + result = write_register(device, register_number, register_value); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; } } if(read) { if( register_number == REGISTER_INVALID ) { result = dump_registers(device); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; + } } else { result = dump_register(device, register_number); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; + } } }