summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--util/nvmutil/nvmutil.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c
index 2510547f..8d5b707c 100644
--- a/util/nvmutil/nvmutil.c
+++ b/util/nvmutil/nvmutil.c
@@ -22,7 +22,7 @@ void cmd_setchecksum(void), cmd_brick(void), swap(int partnum), writeGbe(void),
set_cmd(int, char **), setWord(int, int, uint16_t), check_bounds(int, int),
xopen (int *, const char *, int p, struct stat *), checkMacSeparator(int),
set_mac_byte(int, uint64_t *), usage(char*), set_io_flags(int, char **);
-int goodChecksum(int partnum), write_mac_part(int);
+int goodChecksum(int partnum), write_mac_part(int), set_err(int);
uint8_t hextonum(char chs), rhex(void);
uint16_t word(int, int);
@@ -60,7 +60,6 @@ op_t op[] = {
};
void (*cmd)(void) = NULL;
-#define set_err(x) errno = errno ? errno : x
#define err_if(x) if (x) err(set_err(ECANCELED), "%s", fname)
int
@@ -94,7 +93,7 @@ main(int argc, char *argv[])
writeGbe();
err_if((errno != 0) && (cmd != cmd_dump));
- return errno;
+ return errno ? 1 : 0;
}
void
@@ -478,3 +477,10 @@ usage(char *util)
util, util, util, util, util, util, util);
err(set_err(ECANCELED), "Too few arguments");
}
+
+int
+set_err(int x)
+{
+ errno = errno ? errno : x;
+ return 1;
+}