--- fwmaker/src/fwmaker.c 2026/01/04 18:08:18 1.1.1.1 +++ fwmaker/src/fwmaker.c 2026/01/04 18:52:50 1.2 @@ -8,6 +8,7 @@ struct tagMtd mtd; char image[MAXPATHLEN]; int imgfd; size_t imgsiz; +u_char fillCh = 0x0; void @@ -16,8 +17,9 @@ Usage() printf( " -= FWMAKER =- Firmware maker software ver.%s\n" " (C)`25 ELWIX by Michael Pounov \n" "==================================================\n" - " Syntax: fwmaker [-options] [commands]\n\n" + " Syntax: fwmaker [-options] [command [args]]\n\n" "\t-i\t\t\tPrompt command\n" + "\t-C \t\tFill empty bytes [default=0x0]\n" "\t-d <0xmask>\t\tDebug mode\n" "\t-v\t\t\tVerbose, more -v more verbosity\n" "\t-h\t\t\tHelp, this screen\n", "0.1"); @@ -29,6 +31,9 @@ prepareCli() cli_addCommand(line, "image", 1, cmd_Image, "image command", "image management"); cli_addCommand(line, "mtd", 1, cmd_Mtd, "mtd command", "mtd partition"); cli_addCommand(line, "show", 1, cmd_Show, "show command", "shows parameters"); + + cli_addCommand(line, "fill_byte", 2, cmd_FillCh, "fill_byte command", + "fill image empty areas with byte"); } int @@ -37,8 +42,11 @@ main(int argc, char **argv) int ch, imode = 0, ret = 0; char **args, cmdline[BUFSIZ] = { 0 }; - while ((ch = getopt(argc, argv, "hvid:")) != -1) + while ((ch = getopt(argc, argv, "hvid:C:")) != -1) switch (ch) { + case 'C': + fillCh = (u_char) strtol(optarg, NULL, 0); + break; case 'i': imode = 42; break;