- 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;
}
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;
char **search_dirs = script_search_dirs;
char *dir;
@ -78,9 +84,10 @@ FILE *open_file_from_path (command_context_t *cmd_ctx, char *file, char *mode)
}
if (fp)
command_print(cmd_ctx, "opened %s", full_path);
DEBUG("opened %s", full_path);
return fp;
}
}
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_script_search_dir (const char *dir);
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 */

View File

@ -221,7 +221,7 @@ int handle_script_command(struct command_context_s *cmd_ctx, char *cmd, char **a
if (argc != 1)
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)
{

View File

@ -74,7 +74,7 @@ static void log_puts(enum log_levels level, const char *file, int line, const ch
if (f != NULL)
file = f + 1;
if (strchr(buffer, '\n')!=NULL)
if (strchr(string, '\n')!=NULL)
{
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)
{
script = open_file_from_path(cmd_ctx, target->gdb_program_script, "r");
script = open_file_from_path(target->gdb_program_script, "r");
if (!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);
script = open_file_from_path(cmd_ctx, target->reset_script, "r");
script = open_file_from_path(target->reset_script, "r");
if (!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)
{
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;
break;
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;
break;
default:
@ -1540,7 +1540,7 @@ static int wait_state(struct command_context_s *cmd_ctx, char *cmd, enum target_
{
int retval;
struct timeval timeout, now;
int once=1;
gettimeofday(&timeout, NULL);
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;
}
command_print(cmd_ctx, "waiting for target %s...", target_state_strings[state]);
if (once)
{
once=0;
command_print(cmd_ctx, "waiting for target %s...", target_state_strings[state]);
}
gettimeofday(&now, NULL);
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]);
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)
{
command_print(cmd_ctx, "load_image error: %s", image.error_str);
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)
{
command_print(cmd_ctx, "dump_image error: %s", fileio.error_str);
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)
{
command_print(cmd_ctx, "verify_image error: %s", image.error_str);
return ERROR_OK;
}