From 490f311d05cc3ba63f506989311edeed8d26c64a Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 3 Mar 2026 02:45:46 +0000 Subject: util/nvmutil: split up cmd_setmac Signed-off-by: Leah Rowe --- util/nvmutil/nvmutil.c | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) (limited to 'util') diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c index 9934a775..2510547f 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); +int goodChecksum(int partnum), write_mac_part(int); uint8_t hextonum(char chs), rhex(void); uint16_t word(int, int); @@ -206,20 +206,8 @@ cmd_setmac(void) printf("MAC address to be written: %s\n", strMac); - for (int partnum = 0; partnum < 2; partnum++) { - if (!goodChecksum(part = partnum)) - continue; - - for (int w = 0; w < 3; w++) - setWord(w, partnum, mac[w]); - - printf("Wrote MAC address to part %d: ", partnum); - print_mac_address(partnum); - - cmd_setchecksum(); - mac_updated = 1; - } - + for (int partnum = 0; partnum < 2; partnum++) + mac_updated |= write_mac_part(partnum); if (mac_updated) errno = 0; } @@ -304,6 +292,22 @@ rhex(void) return rnum[n--] & 0xf; } +int +write_mac_part(int partnum) +{ + if (!goodChecksum(part = partnum)) + return 0; + + for (int w = 0; w < 3; w++) + setWord(w, partnum, mac[w]); + + printf("Wrote MAC address to part %d: ", partnum); + print_mac_address(partnum); + + cmd_setchecksum(); + return 1; +} + void cmd_dump(void) { -- cgit v1.2.1