diff options
author | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2020-11-08 14:29:51 +0100 |
---|---|---|
committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2020-11-08 14:31:05 +0100 |
commit | e26140c9a612c6c65b47c2a8c85c429e7f8ed4ea (patch) | |
tree | c7c25fb12cc7ccac487b2b3a265c36cdbf15a73b /tools | |
parent | f9012aabdf4148e7b7c2b82c5cc242a1678bda2c (diff) | |
download | hardware_replicant_libsamsung-ipc-e26140c9a612c6c65b47c2a8c85c429e7f8ed4ea.tar.gz hardware_replicant_libsamsung-ipc-e26140c9a612c6c65b47c2a8c85c429e7f8ed4ea.tar.bz2 hardware_replicant_libsamsung-ipc-e26140c9a612c6c65b47c2a8c85c429e7f8ed4ea.zip |
nv_data-imei: Fix get_imei return codes
Negative error codes are used as per the kernel coding style,
however userspace, especially the tests expect positive return
code compliant with sysexits.h.
So here we map EINVAL (Invalid argument) from errno.h to EX_USAGE
(command line usage error).
Without that fix we have:
$ ./tools/nv_data-imei nv_data.bin bruteforce-imei -i 12345
The '12345' IMEI is invalid as it is composed of 5 digits instead of 15.
errno_to_sysexit: error: unknown error code -1.
errno_to_sysexit: error code -1 needs to be implemented
lt-nv_data-imei: nv_data-imei.c:836: errno_to_sysexit: Assertion `false' failed.
Aborted (core dumped)
instead of:
$ ./tools/nv_data-imei nv_data.bin bruteforce-imei -i 12345
The '12345' IMEI is invalid as it is composed of 5 digits instead of 15.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/nv_data-imei.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/nv_data-imei.c b/tools/nv_data-imei.c index 6ec5adc..dfa3d86 100644 --- a/tools/nv_data-imei.c +++ b/tools/nv_data-imei.c @@ -164,19 +164,19 @@ static int get_imei(struct command *command, void *arg) " as it is composed of " "%d digits instead of %d.\n", len, IMEI_LENGTH); - return -1; + return -EINVAL; } else if (!str_is_digit) { printf("The '%s' " "IMEI is invalid" " as it does not only contains digits\n", imei->optarg); - return -1; + return -EINVAL; } else if (!str_len_valid) { printf("The '%s' " "IMEI is invalid as it is composed of " "%d digits instead of %d.\n", imei->optarg, len, IMEI_LENGTH); - return -1; + return -EINVAL; } /* imei.imei is IMEI_LENGTH + 1 */ |