diff options
| -rw-r--r-- | util/nvmutil/nvmutil.c | 13 | 
1 files changed, 10 insertions, 3 deletions
| diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c index 189192cf..35a2bad2 100644 --- a/util/nvmutil/nvmutil.c +++ b/util/nvmutil/nvmutil.c @@ -44,6 +44,7 @@ void hexdump(int partnum);  void cmd_setchecksum(void);  void cmd_brick(void);  void cmd_swap(void); +void cmd_copy(void);  int validChecksum(int partnum);  uint16_t word(int pos16, int partnum);  void setWord(int pos16, int partnum, uint16_t val); @@ -248,9 +249,7 @@ cmd(const char *command)  	} else if (strcmp(command, "swap") == 0) {  		cmd_swap();  	} else if (strcmp(command, "copy") == 0) { -		if (validChecksum(part)) -			memcpy(gbe + ((part ^ (gbeFileModified = 1)) << 12), -				gbe + (part << 12), SIZE_4KB); +		cmd_copy();  	} else  		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  validChecksum(int partnum)  { | 
