From 9bbff56a5855f5301ff68876a5b28ed21a9f30a9 Mon Sep 17 00:00:00 2001 From: Przemyslaw Marczak Date: Thu, 12 Jun 2014 10:20:59 +0200 Subject: [PATCH] thor:cmd: get the default command arguments from environment This change adds support to getting the default DFU cmd line arguments from the environment. DFU and THOR uses the same command line arguments, so the DFU command environment setup can be used also with THOR. Change-Id: I2e0984c909147c13191f6d6646d094c9f02c392a Signed-off-by: Przemyslaw Marczak --- cmd/thordown.c | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/cmd/thordown.c b/cmd/thordown.c index a1bd4bde7f..5e30cddecc 100644 --- a/cmd/thordown.c +++ b/cmd/thordown.c @@ -16,17 +16,34 @@ int do_thor_down(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { - if (argc < 4) - return CMD_RET_USAGE; - - char *usb_controller = argv[1]; - char *interface = argv[2]; - char *devstring = argv[3]; - + char *usb_controller; + char *interface; + char *devstring; int ret; puts("TIZEN \"THOR\" Downloader\n"); + switch (argc) { + case 1: + usb_controller = strdup(getenv("dfu_usb_con")); + interface = strdup(getenv("dfu_interface")); + devstring = strdup(getenv("dfu_device")); + + if (!usb_controller || !interface || !devstring) { + puts("DFU: default device environment is not set.\n"); + ret = CMD_RET_USAGE; + goto bad_args; + } + break; + case 4: + usb_controller = argv[1]; + interface = argv[2]; + devstring = argv[3]; + break; + default: + return CMD_RET_USAGE; + } + ret = dfu_init_env_entities(interface, devstring); if (ret) goto done; @@ -76,6 +93,12 @@ done: } else lcd_clear(); #endif +bad_args: + if (argc == 1) { + free(usb_controller); + free(interface); + free(devstring); + } return ret; } -- 2.34.1