- clean up target output strings a bit

- open_file_from_path() now uses logging feature
- open_file_from_path() no longer uses paths for anything but "r" mode. Fixes 
  bug  waiting to happen.


git-svn-id: svn://svn.berlios.de/openocd/trunk@389 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
oharboe 2008-02-29 11:31:49 +00:00
parent 0a749feb8e
commit 3a3fc30014
6 changed files with 22 additions and 15 deletions

View File

@ -54,8 +54,14 @@ void add_config_file_name (const char *cfg)
config_file_names[num_config_files] = NULL; config_file_names[num_config_files] = NULL;
} }
FILE *open_file_from_path (command_context_t *cmd_ctx, char *file, char *mode) FILE *open_file_from_path (char *file, char *mode)
{ {
if (mode[0]!='r')
{
return fopen(file, mode);
} else
{
FILE *fp = NULL; FILE *fp = NULL;
char **search_dirs = script_search_dirs; char **search_dirs = script_search_dirs;
char *dir; char *dir;
@ -78,10 +84,11 @@ FILE *open_file_from_path (command_context_t *cmd_ctx, char *file, char *mode)
} }
if (fp) if (fp)
command_print(cmd_ctx, "opened %s", full_path); DEBUG("opened %s", full_path);
return fp; return fp;
} }
}
int parse_config_file(struct command_context_s *cmd_ctx) int parse_config_file(struct command_context_s *cmd_ctx)
{ {

View File

@ -28,6 +28,6 @@ extern int parse_config_file(struct command_context_s *cmd_ctx);
extern void add_config_file_name (const char *cfg); extern void add_config_file_name (const char *cfg);
extern void add_script_search_dir (const char *dir); extern void add_script_search_dir (const char *dir);
extern int configuration_output_handler(struct command_context_s *context, char* line); extern int configuration_output_handler(struct command_context_s *context, char* line);
extern FILE *open_file_from_path (command_context_t *cmd_ctx, char *file, char *mode); extern FILE *open_file_from_path (char *file, char *mode);
#endif /* CONFIGURATION_H */ #endif /* CONFIGURATION_H */

View File

@ -221,7 +221,7 @@ int handle_script_command(struct command_context_s *cmd_ctx, char *cmd, char **a
if (argc != 1) if (argc != 1)
return ERROR_COMMAND_SYNTAX_ERROR; return ERROR_COMMAND_SYNTAX_ERROR;
script_file = open_file_from_path(cmd_ctx, args[0], "r"); script_file = open_file_from_path (args[0], "r");
if (!script_file) if (!script_file)
{ {

View File

@ -74,7 +74,7 @@ static void log_puts(enum log_levels level, const char *file, int line, const ch
if (f != NULL) if (f != NULL)
file = f + 1; file = f + 1;
if (strchr(buffer, '\n')!=NULL) if (strchr(string, '\n')!=NULL)
{ {
if (debug_level >= LOG_DEBUG) if (debug_level >= LOG_DEBUG)
{ {

View File

@ -540,7 +540,7 @@ int gdb_program_handler(struct target_s *target, enum target_event event, void *
if (target->gdb_program_script) if (target->gdb_program_script)
{ {
script = open_file_from_path(cmd_ctx, target->gdb_program_script, "r"); script = open_file_from_path(target->gdb_program_script, "r");
if (!script) if (!script)
{ {
ERROR("couldn't open script file %s", target->gdb_program_script); ERROR("couldn't open script file %s", target->gdb_program_script);

View File

@ -229,7 +229,7 @@ int target_init_handler(struct target_s *target, enum target_event event, void *
{ {
target_unregister_event_callback(target_init_handler, priv); target_unregister_event_callback(target_init_handler, priv);
script = open_file_from_path(cmd_ctx, target->reset_script, "r"); script = open_file_from_path(target->reset_script, "r");
if (!script) if (!script)
{ {
ERROR("couldn't open script file %s", target->reset_script); ERROR("couldn't open script file %s", target->reset_script);
@ -270,11 +270,11 @@ int target_process_reset(struct command_context_s *cmd_ctx)
switch (target->reset_mode) switch (target->reset_mode)
{ {
case RESET_HALT: case RESET_HALT:
command_print(cmd_ctx, "nSRST pulls nTRST, falling back to RESET_RUN_AND_HALT"); command_print(cmd_ctx, "nSRST pulls nTRST, falling back to \"reset run_and_halt\"");
target->reset_mode = RESET_RUN_AND_HALT; target->reset_mode = RESET_RUN_AND_HALT;
break; break;
case RESET_INIT: case RESET_INIT:
command_print(cmd_ctx, "nSRST pulls nTRST, falling back to RESET_RUN_AND_INIT"); command_print(cmd_ctx, "nSRST pulls nTRST, falling back to \"reset run_and_init\"");
target->reset_mode = RESET_RUN_AND_INIT; target->reset_mode = RESET_RUN_AND_INIT;
break; break;
default: default:
@ -1540,7 +1540,7 @@ static int wait_state(struct command_context_s *cmd_ctx, char *cmd, enum target_
{ {
int retval; int retval;
struct timeval timeout, now; struct timeval timeout, now;
int once=1;
gettimeofday(&timeout, NULL); gettimeofday(&timeout, NULL);
timeval_add_time(&timeout, 0, ms * 1000); timeval_add_time(&timeout, 0, ms * 1000);
@ -1554,12 +1554,15 @@ static int wait_state(struct command_context_s *cmd_ctx, char *cmd, enum target_
{ {
break; break;
} }
if (once)
{
once=0;
command_print(cmd_ctx, "waiting for target %s...", target_state_strings[state]); command_print(cmd_ctx, "waiting for target %s...", target_state_strings[state]);
}
gettimeofday(&now, NULL); gettimeofday(&now, NULL);
if ((now.tv_sec > timeout.tv_sec) || ((now.tv_sec == timeout.tv_sec) && (now.tv_usec >= timeout.tv_usec))) if ((now.tv_sec > timeout.tv_sec) || ((now.tv_sec == timeout.tv_sec) && (now.tv_usec >= timeout.tv_usec)))
{ {
command_print(cmd_ctx, "timed out while waiting for target %s", target_state_strings[state]);
ERROR("timed out while waiting for target %s", target_state_strings[state]); ERROR("timed out while waiting for target %s", target_state_strings[state]);
break; break;
} }
@ -1915,7 +1918,6 @@ int handle_load_image_command(struct command_context_s *cmd_ctx, char *cmd, char
if (image_open(&image, args[0], (argc >= 3) ? args[2] : NULL) != ERROR_OK) if (image_open(&image, args[0], (argc >= 3) ? args[2] : NULL) != ERROR_OK)
{ {
command_print(cmd_ctx, "load_image error: %s", image.error_str);
return ERROR_OK; return ERROR_OK;
} }
@ -1985,7 +1987,6 @@ int handle_dump_image_command(struct command_context_s *cmd_ctx, char *cmd, char
if (fileio_open(&fileio, args[0], FILEIO_WRITE, FILEIO_BINARY) != ERROR_OK) if (fileio_open(&fileio, args[0], FILEIO_WRITE, FILEIO_BINARY) != ERROR_OK)
{ {
command_print(cmd_ctx, "dump_image error: %s", fileio.error_str);
return ERROR_OK; return ERROR_OK;
} }
@ -2064,7 +2065,6 @@ int handle_verify_image_command(struct command_context_s *cmd_ctx, char *cmd, ch
if (image_open(&image, args[0], (argc == 3) ? args[2] : NULL) != ERROR_OK) if (image_open(&image, args[0], (argc == 3) ? args[2] : NULL) != ERROR_OK)
{ {
command_print(cmd_ctx, "verify_image error: %s", image.error_str);
return ERROR_OK; return ERROR_OK;
} }