/*
- * (C) Copyright 2014 Leo C. <erbl259-lmu@yahoo.de>
+ * (C) Copyright 2014-2016 Leo C. <erbl259-lmu@yahoo.de>
*
* (C) Copyright 2000
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*/
for (inquotes = 0, sep = str; *sep; sep++) {
if ((*sep == '\'') &&
- (sep != str) && /* past string start */
- (*(sep - 1) != '\\')) /* and NOT escaped */
+ (sep != str) && /* past string start */
+ (*(sep - 1) != '\\')) /* and NOT escaped */
inquotes = !inquotes;
if (!inquotes &&
- (*sep == ';' || *sep == '\n') && /* separator */
- (sep != str) && /* past string start */
- (*(sep - 1) != '\\')) /* and NOT escaped */
+ (*sep == ';' || *sep == '\n' /* separator */
+ || *sep == '#') && /* or start of comment */
+ ((sep == str) || /* string start */
+ (*(sep - 1) != '\\'))) /* or NOT escaped */
break;
}
- /*
- * Limit the token to data between separators
- */
+ /* no more commands after unescaped '#' token */
+ if (*sep == '#')
+ *sep = '\0';
+
+ /* Limit the token to data between separators */
token = str;
if (*sep) {
- str = sep + 1; /* start of command for next pass */
+ str = sep + 1; /* start of command for next pass */
*sep = '\0';
} else {
- str = sep; /* no more commands for next pass */
+ str = sep; /* no more commands for next pass */
}
debug_parser("token: \"%s\"\n", token);
}
}
}
-
-
-command_ret_t do_run(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
-{
- int i;
- (void) cmdtp;
-
- if (argc < 2)
- return CMD_RET_USAGE;
-
- for (i = 1; i < argc; ++i) {
- char *arg;
-
- arg = getenv_char(argv[i]);
- if (arg == NULL) {
- printf_P(PSTR("## Error: \"%s\" is not set\n"), argv[i]);
- return CMD_RET_FAILURE;
- }
-
- if (run_command(arg, flag) != 0)
- return CMD_RET_FAILURE;
- }
- return CMD_RET_SUCCESS;
-}