- fixed target->type->poll() return value

- added arch_state to show status of currently selected target
- simplified target->type->arch_state() api.
- clean up telnet output a bit
- fixed GDB output for arch_state
- removed a couple of unecessary exit()'s
- cleaned up error propagation a bit in a few places

git-svn-id: svn://svn.berlios.de/openocd/trunk@332 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
oharboe
2008-02-24 18:52:45 +00:00
parent 379f0b0b9b
commit 1aa854684d
15 changed files with 113 additions and 84 deletions

View File

@@ -93,10 +93,21 @@ void telnet_log_callback(void *priv, const char *file, int line,
{
connection_t *connection = priv;
char *t = allocPrintf(format, args);
char *t2;
if (t == NULL)
return;
t2=t;
char *endline;
do
{
if ((endline=strchr(t2, '\n'))!=NULL)
{
*endline=0;
}
telnet_outputline(connection, t2);
t2=endline+1;
} while (endline);
telnet_outputline(connection, t);
free(t);
}
@@ -106,15 +117,12 @@ int telnet_target_callback_event_handler(struct target_s *target, enum target_ev
struct command_context_s *cmd_ctx = priv;
connection_t *connection = cmd_ctx->output_handler_priv;
telnet_connection_t *t_con = connection->priv;
char buffer[512];
switch (event)
{
case TARGET_EVENT_HALTED:
command_print(cmd_ctx, "Target %i halted", get_num_by_target(target));
target->type->arch_state(target, buffer, 512);
buffer[511] = 0;
command_print(cmd_ctx, "%s", buffer);
target_arch_state(target);
if (!t_con->suppress_prompt)
telnet_prompt(connection);
break;