ID: 46 - ipmi_fwum needs some re-work

ipmi_fwum_main() re-work.
This commit is contained in:
Zdenek Styblik 2013-10-26 17:10:14 +00:00
parent ae96dd3229
commit 9517cb332b

View File

@ -197,79 +197,59 @@ static void KfwumOutputInfo(tKFWUM_BoardInfo boardInfo,
*/ */
int ipmi_fwum_main(struct ipmi_intf * intf, int argc, char ** argv) int ipmi_fwum_main(struct ipmi_intf * intf, int argc, char ** argv)
{ {
printf("FWUM extension Version %d.%d\n", VERSION_MAJ, VERSION_MIN); int rc = 0;
if ((!argc) || ( !strncmp(argv[0], "help", 4))) printf("FWUM extension Version %d.%d\n", VERSION_MAJ, VERSION_MIN);
{ if (argc < 1) {
KfwumOutputHelp(); lprintf(LOG_ERR, "Not enough parameters given.");
} KfwumOutputHelp();
else return (-1);
{ }
if (!strncmp(argv[0], "info", 4)) if (strncmp(argv[0], "help", 4) == 0) {
{ KfwumOutputHelp();
KfwumMain(intf, KFWUM_TASK_INFO); rc = 0;
} } else if (strncmp(argv[0], "info", 4) == 0) {
else if (!strncmp(argv[0], "status", 6)) KfwumMain(intf, KFWUM_TASK_INFO);
{ } else if (strncmp(argv[0], "status", 6) == 0) {
KfwumMain(intf, KFWUM_TASK_STATUS); KfwumMain(intf, KFWUM_TASK_STATUS);
} } else if (strncmp(argv[0], "rollback", 8) == 0) {
else if (!strncmp(argv[0], "rollback", 8)) KfwumMain(intf, KFWUM_TASK_ROLLBACK);
{ } else if (strncmp(argv[0], "download", 8) == 0) {
KfwumMain(intf, KFWUM_TASK_ROLLBACK); if ((argc < 2) || (strlen(argv[1]) < 1)) {
} lprintf(LOG_ERR,
else if (!strncmp(argv[0], "download", 8)) "Path and file name must be specified.");
{ return (-1);
if((argc >= 2) && (strlen(argv[1]) > 0)) }
{ /* There is a file name in the parameters */
/* There is a file name in the parameters */ if (strlen(argv[1]) >= 512) {
if(strlen(argv[1]) < 512) lprintf(LOG_ERR,
{ "File name length is limited to 512 characters.");
strcpy((char *)fileName, argv[1]); return (-1);
printf("Firmware File Name : %s\n", fileName); }
strcpy((char *)fileName, argv[1]);
KfwumMain(intf, KFWUM_TASK_DOWNLOAD); printf("Firmware File Name : %s\n", fileName);
} KfwumMain(intf, KFWUM_TASK_DOWNLOAD);
else } else if (strncmp(argv[0], "upgrade", 7) == 0) {
{ if ((argc >= 2) && (strlen(argv[1]) > 0)) {
fprintf(stderr,"File name must be smaller than 512 bytes\n"); /* There is a file name in the parameters */
} if (strlen(argv[1]) >= 512) {
} lprintf(LOG_ERR,
else "File name length is limited to 512 characters.");
{ return (-1);
fprintf(stderr,"A path and a file name must be specified\n"); }
} strcpy((char *)fileName, argv[1]);
} printf("Upgrading using file name %s\n", fileName);
else if (!strncmp(argv[0], "upgrade", 7)) KfwumMain(intf, KFWUM_TASK_UPGRADE);
{ } else {
if((argc >= 2) && (strlen(argv[1]) > 0)) KfwumMain(intf, KFWUM_TASK_START_UPGRADE);
{ }
/* There is a file name in the parameters */ } else if (strncmp(argv[0], "tracelog", 8) == 0) {
if(strlen(argv[1]) < 512) KfwumMain(intf, KFWUM_TASK_TRACELOG);
{ } else {
strcpy((char *)fileName, argv[1]); lprintf(LOG_ERR, "Invalid KFWUM command: %s", argv[0]);
printf("Upgrading using file name %s\n", fileName); KfwumOutputHelp();
KfwumMain(intf, KFWUM_TASK_UPGRADE); rc = (-1);
} }
else return rc;
{
fprintf(stderr,"File name must be smaller than 512 bytes\n");
}
}
else
{
KfwumMain(intf, KFWUM_TASK_START_UPGRADE);
}
}
else if (!strncmp(argv[0], "tracelog", 8))
{
KfwumMain(intf, KFWUM_TASK_TRACELOG);
}
else
{
printf("Invalid KFWUM command: %s\n", argv[0]);
}
}
return 0;
} }