--- embedtools/src/Attic/updimg.c 2009/11/13 16:25:38 1.1.2.2 +++ embedtools/src/Attic/updimg.c 2009/11/14 00:37:20 1.1.2.4 @@ -14,8 +14,9 @@ static void Usage() " Syntax: updimg [-v] [operate_dir]\n\n" "\t-v\t\tVerbose ...\n\n" "\t-a\t\tMake image active for next boot\n" - "\t-i\t\tInstall new image\n" + "\t-i \tInstall new image\n" "\t-r\t\tRollback old backuped image\n" + "\t-t \tExport for TFTP download\n" "\t-b\t\tBackup image\n" "\t-d\t\tClean backuped image\n" "\n", compiled, compiledby, compilehost); @@ -25,44 +26,46 @@ static void Usage() int main(int argc, char **argv) { - char ch, szImg[MAXPATHLEN]; + char ch, szImg[MAXPATHLEN], szTFTP[MAXPATHLEN]; int mode; - while ((ch = getopt(argc, argv, "hvdbtair")) != -1) + while ((ch = getopt(argc, argv, "hvdbt:ai:r")) != -1) switch (ch) { case 'a': Mode |= 0x1; break; case 't': Mode |= 0x8; + strlcpy(szTFTP, optarg, MAXPATHLEN); break; case 'r': - if (Mode & 0x2) { + if (Mode & 0x10) { printf("Error:: can`t set rollback mode because find set install ...\n"); return 1; } else - Mode |= 0x4; + Mode |= 0x20; break; case 'i': - if (Mode & 0x4) { + if (Mode & 0x20) { printf("Error:: can`t set install mode because find set rollback ...\n"); return 1; } else - Mode |= 0x2; + Mode |= 0x10; + strlcpy(szTFTP, optarg, MAXPATHLEN); break; case 'b': - if (Mode & 0x20) { + if (Mode & 0x4) { printf("Error:: can`t set backup mode because find set clean ...\n"); return 1; } else - Mode |= 0x10; + Mode |= 0x2; break; case 'd': - if (Mode & 0x10) { + if (Mode & 0x2) { printf("Error:: can`t set clean mode because find set backup ...\n"); return 1; } else - Mode |= 0x20; + Mode |= 0x4; break; case 'v': Verbose++; @@ -98,19 +101,19 @@ int main(int argc, char **argv) Activate(szImg); break; case 0x2: - Install(); + Backup(szImg, NULL); break; case 0x4: - Rollback(); + Clean(szImg); break; case 0x8: - tFTP(); + tFTP(szImg, szTFTP); break; case 0x10: - Backup(); + Install(szImg, szTFTP); break; case 0x20: - Clean(); + Rollback(szImg); break; }