[LEDE-DEV] [PATCH 3/4] otrx: print and return errno if fopen fails

rosenp at gmail.com rosenp at gmail.com
Thu Nov 16 02:28:35 PST 2017


On Thu, 2017-11-16 at 10:15 +0100, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal at milecki.pl>
> 
> Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
> ---
>  package/utils/otrx/src/otrx.c | 22 ++++++++++++----------
>  1 file changed, 12 insertions(+), 10 deletions(-)
> 
> diff --git a/package/utils/otrx/src/otrx.c
> b/package/utils/otrx/src/otrx.c
> index 0d99cd39e3..1c3ffd915b 100644
> --- a/package/utils/otrx/src/otrx.c
> +++ b/package/utils/otrx/src/otrx.c
> @@ -170,8 +170,8 @@ static int otrx_check(int argc, char **argv) {
>  
>  	trx = fopen(trx_path, "r");
>  	if (!trx) {
> -		fprintf(stderr, "Couldn't open %s\n", trx_path);
> -		err = -EACCES;
> +		err = -errno;
> +		fprintf(stderr, "Couldn't open %s: %d\n", trx_path,
> err);
>  		goto out;
>  	}
>  
> @@ -233,11 +233,13 @@ static ssize_t otrx_create_append_file(FILE
> *trx, const char *in_path) {
>  	size_t bytes;
>  	ssize_t length = 0;
>  	uint8_t buf[1024];
> +	int err;
>  
>  	in = fopen(in_path, "r");
>  	if (!in) {
> -		fprintf(stderr, "Couldn't open %s\n", in_path);
> -		return -EACCES;
> +		err = -errno;
> +		fprintf(stderr, "Couldn't open %s: %d\n", in_path,
> err);
> +		return err;
>  	}
>  
>  	while ((bytes = fread(buf, 1, sizeof(buf), in)) > 0) {
> @@ -333,8 +335,8 @@ static int otrx_create(int argc, char **argv) {
>  
>  	trx = fopen(trx_path, "w+");
>  	if (!trx) {
> -		fprintf(stderr, "Couldn't open %s\n", trx_path);
> -		err = -EACCES;
> +		err = -errno;
> +		fprintf(stderr, "Couldn't open %s: %d\n", trx_path,
> err);
>  		goto out;
>  	}
>  	fseek(trx, curr_offset, SEEK_SET);
> @@ -449,8 +451,8 @@ static int otrx_extract_copy(FILE *trx, size_t
> offset, size_t length, char *out_
>  
>  	out = fopen(out_path, "w");
>  	if (!out) {
> -		fprintf(stderr, "Couldn't open %s\n", out_path);
> -		err = -EACCES;
> +		err = -errno;
> +		fprintf(stderr, "Couldn't open %s: %d\n", out_path,
> err);
>  		goto out;
>  	}
>  
> @@ -505,8 +507,8 @@ static int otrx_extract(int argc, char **argv) {
>  
>  	trx = fopen(trx_path, "r");
>  	if (!trx) {
> -		fprintf(stderr, "Couldn't open %s\n", trx_path);
> -		err = -EACCES;
> +		err = -errno;
> +		fprintf(stderr, "Couldn't open %s: %d\n", trx_path,
> err);
>  		goto out;
>  	}

why not use %m? eg: fprintf(stderr, "Couldn't open %s: %m\n", trx_path)
>  



More information about the Lede-dev mailing list