util/nvmutil: move cmd copy to own function

fsdg20230625
Leah Rowe 2022-11-26 23:42:45 +00:00
parent ddf3b76c83
commit 82300f4f1e
1 changed files with 10 additions and 3 deletions

View File

@ -44,6 +44,7 @@ void hexdump(int partnum);
void cmd_setchecksum(void); void cmd_setchecksum(void);
void cmd_brick(void); void cmd_brick(void);
void cmd_swap(void); void cmd_swap(void);
void cmd_copy(void);
int validChecksum(int partnum); int validChecksum(int partnum);
uint16_t word(int pos16, int partnum); uint16_t word(int pos16, int partnum);
void setWord(int pos16, int partnum, uint16_t val); void setWord(int pos16, int partnum, uint16_t val);
@ -248,9 +249,7 @@ cmd(const char *command)
} else if (strcmp(command, "swap") == 0) { } else if (strcmp(command, "swap") == 0) {
cmd_swap(); cmd_swap();
} else if (strcmp(command, "copy") == 0) { } else if (strcmp(command, "copy") == 0) {
if (validChecksum(part)) cmd_copy();
memcpy(gbe + ((part ^ (gbeFileModified = 1)) << 12),
gbe + (part << 12), SIZE_4KB);
} else } else
errno = EINVAL; errno = EINVAL;
} }
@ -347,6 +346,14 @@ cmd_swap(void)
} }
} }
void
cmd_copy(void)
{
if (validChecksum(part))
memcpy(gbe + ((part ^ (gbeFileModified = 1)) << 12),
gbe + (part << 12), SIZE_4KB);
}
int int
validChecksum(int partnum) validChecksum(int partnum)
{ {