{
int len;
const char *w = Jim_GetString(argv[i], &len);
-
- /* end of line comment? */
- if (*w == '#')
- break;
-
char * t = alloc_printf("%s %s", dbg, w);
free (dbg);
dbg = t;
{
int len;
const char *w = Jim_GetString(argv[i], &len);
- /* a comment may end the line early */
- if (*w == '#')
- break;
-
words[i] = strdup(w);
if (words[i] == NULL)
{
}
if (c->name)
- free(c->name);
+ free((void *)c->name);
if (c->help)
free((void*)c->help);
if (c->usage)
{
/* We do not print the connection closed error message */
Jim_MakeErrorMessage(interp);
- LOG_USER_N("%s\n", Jim_GetString(Jim_GetResult(interp), NULL));
+ LOG_USER("%s", Jim_GetString(Jim_GetResult(interp), NULL));
}
if (retval == ERROR_OK)
{
buff[chunk] = 0;
LOG_USER_N("%s", buff);
}
- LOG_USER_N("%s", "\n");
+ LOG_USER_N("\n");
}
retval = ERROR_OK;
}
if (string != NULL)
{
retval = command_run_line(context, string);
+ free(string);
}
va_end(ap);
return retval;
return JIM_OK;
}
-static int jim_echo(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
+COMMAND_HANDLER(jim_echo)
{
- if (argc != 2)
+ if (CMD_ARGC == 2 && !strcmp(CMD_ARGV[0], "-n"))
+ {
+ LOG_USER_N("%s", CMD_ARGV[1]);
+ return JIM_OK;
+ }
+ if (CMD_ARGC != 1)
return JIM_ERR;
- const char *str = Jim_GetString(argv[1], NULL);
- LOG_USER("%s", str);
+ LOG_USER("%s", CMD_ARGV[0]);
return JIM_OK;
}
if (next - last < HELP_LINE_WIDTH(n))
cp = next;
command_help_show_indent(n);
- LOG_USER_N("%.*s", (int)(cp - last), last);
- LOG_USER_N("\n");
+ LOG_USER("%.*s", (int)(cp - last), last);
last = cp + 1;
n = n2;
}
};
static const struct command_registration command_builtin_handlers[] = {
+ {
+ .name = "echo",
+ .handler = jim_echo,
+ .mode = COMMAND_ANY,
+ .help = "Logs a message at \"user\" priority. "
+ "Output message to stdout. "
+ "Option \"-n\" suppresses trailing newline",
+ .usage = "[-n] string",
+ },
{
.name = "add_help_text",
.handler = handle_help_add_command,
Jim_NewStringObj(interp, HostOs , strlen(HostOs)));
Jim_CreateCommand(interp, "ocd_find", jim_find, NULL, NULL);
- Jim_CreateCommand(interp, "echo", jim_echo, NULL, NULL);
Jim_CreateCommand(interp, "capture", jim_capture, NULL, NULL);
register_commands(context, NULL, command_builtin_handlers);