David Brownell <david-b@pacbell.net> Be sure the built-in search paths always go *after* ones provided

on the command line ... matching comment in add_default_dirs().

Without this it's impossible to use a private config file which
happens to have the same name as an installed one.  Say, because
you're bugfixing a private copy...

git-svn-id: svn://svn.berlios.de/openocd/trunk@2649 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
oharboe 2009-08-30 17:27:50 +00:00
parent 69b8b5e0aa
commit 4b9bdd664a
4 changed files with 8 additions and 7 deletions

View File

@ -918,7 +918,7 @@ command_context_t *setup_command_handler(void);
static const char *zylin_config_dir="/config/settings"; static const char *zylin_config_dir="/config/settings";
int add_default_dirs(void) static int add_default_dirs(void)
{ {
add_script_search_dir(zylin_config_dir); add_script_search_dir(zylin_config_dir);
add_script_search_dir("/rom/lib/openocd"); add_script_search_dir("/rom/lib/openocd");

View File

@ -744,8 +744,6 @@ command_context_t* command_init()
interp->cb_fflush = openocd_jim_fflush; interp->cb_fflush = openocd_jim_fflush;
interp->cb_fgets = openocd_jim_fgets; interp->cb_fgets = openocd_jim_fgets;
add_default_dirs();
#if !BUILD_ECOSBOARD #if !BUILD_ECOSBOARD
Jim_EventLoopOnLoad(interp); Jim_EventLoopOnLoad(interp);
#endif #endif

View File

@ -32,6 +32,5 @@ extern void add_script_search_dir (const char *dir);
extern int configuration_output_handler(struct command_context_s *context, const char* line); extern int configuration_output_handler(struct command_context_s *context, const char* line);
extern FILE *open_file_from_path (char *file, char *mode); extern FILE *open_file_from_path (char *file, char *mode);
extern char *find_file(const char *name); extern char *find_file(const char *name);
int add_default_dirs(void);
#endif /* CONFIGURATION_H */ #endif /* CONFIGURATION_H */

View File

@ -38,7 +38,7 @@ static struct option long_options[] =
{"help", no_argument, &help_flag, 1}, {"help", no_argument, &help_flag, 1},
{"version", no_argument, &version_flag, 1}, {"version", no_argument, &version_flag, 1},
{"debug", optional_argument, 0, 'd'}, {"debug", optional_argument, 0, 'd'},
{"file", required_argument, 0, 'f'}, {"file", required_argument, 0, 'f'},
{"search", required_argument, 0, 's'}, {"search", required_argument, 0, 's'},
{"log_output", required_argument, 0, 'l'}, {"log_output", required_argument, 0, 'l'},
{"command", required_argument, 0, 'c'}, {"command", required_argument, 0, 'c'},
@ -53,7 +53,7 @@ int configuration_output_handler(struct command_context_s *context, const char*
return ERROR_OK; return ERROR_OK;
} }
int add_default_dirs(void) static void add_default_dirs(void)
{ {
#ifdef _WIN32 #ifdef _WIN32
/* Add the parent of the directory where openocd.exe resides to the /* Add the parent of the directory where openocd.exe resides to the
@ -106,7 +106,6 @@ int add_default_dirs(void)
add_script_search_dir(PKGDATADIR "/site"); add_script_search_dir(PKGDATADIR "/site");
add_script_search_dir(PKGDATADIR "/scripts"); add_script_search_dir(PKGDATADIR "/scripts");
#endif #endif
return ERROR_OK;
} }
int parse_cmdline_args(struct command_context_s *cmd_ctx, int argc, char *argv[]) int parse_cmdline_args(struct command_context_s *cmd_ctx, int argc, char *argv[])
@ -196,5 +195,10 @@ int parse_cmdline_args(struct command_context_s *cmd_ctx, int argc, char *argv[]
exit(0); exit(0);
} }
/* paths specified on the command line take precedence over these
* built-in paths
*/
add_default_dirs();
return ERROR_OK; return ERROR_OK;
} }