diff options
author | Oliver O'Halloran <oohall@gmail.com> | 2017-11-30 16:31:28 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-12-01 00:54:47 -0600 |
commit | aa82932e71906cbec11b708eba3979688f1d0ad9 (patch) | |
tree | 7d3a821977f022a7cb2a01cf8b2114c15052df96 | |
parent | a797a19687a303b1fb4d80fb6d91ddd88cf9d303 (diff) | |
download | skiboot-aa82932e71906cbec11b708eba3979688f1d0ad9.zip skiboot-aa82932e71906cbec11b708eba3979688f1d0ad9.tar.gz skiboot-aa82932e71906cbec11b708eba3979688f1d0ad9.tar.bz2 |
gard: Fix up do_create return values
The return value of a subcommand is interpreted as a libflash error code
when it's positive or some subcommand specific error when negative.
Currently the create subcommand always returns zero when exiting (even
for errors) so fix that.
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r-- | external/gard/gard.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/external/gard/gard.c b/external/gard/gard.c index f73b2dc..86fcbe8 100644 --- a/external/gard/gard.c +++ b/external/gard/gard.c @@ -668,12 +668,12 @@ static int do_create(struct gard_ctx *ctx, int argc, char **argv) fprintf(stderr, "e.g.\n"); fprintf(stderr, " /Sys0/Node0/Proc0\n"); fprintf(stderr, " /Sys0/Node0/DIMM15\n"); - return 0; + return -1; } if (parse_path(argv[1], &path)) { fprintf(stderr, "Unable to parse path\n"); - return 0; + return -1; } /* check if we already have a gard record applied to this path */ @@ -682,7 +682,7 @@ static int do_create(struct gard_ctx *ctx, int argc, char **argv) fprintf(stderr, "Unit %s is already GARDed by record %#08x\n", argv[1], be32toh(gard.record_id)); - return 0; + return -1; } /* @@ -709,7 +709,7 @@ static int do_create(struct gard_ctx *ctx, int argc, char **argv) if (offset > ctx->gard_data_len - sizeof(gard)) { fprintf(stderr, "No space in GUARD for a new record\n"); - return 0; + return -1; } rc = blocklevel_smart_write(ctx->bl, |