summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-08-30 17:27:50 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-08-30 17:27:50 +0000
commit4b9bdd664a79d5713b22a178086b071abc049d01 (patch)
treeabdf8b240751e3465f4549c2c27f38c1a61ea03a /src
parent69b8b5e0aa7f3d5fec39bd74d277546f290ed5cd (diff)
downloadopenocd+libswd-4b9bdd664a79d5713b22a178086b071abc049d01.tar.gz
openocd+libswd-4b9bdd664a79d5713b22a178086b071abc049d01.tar.bz2
openocd+libswd-4b9bdd664a79d5713b22a178086b071abc049d01.tar.xz
openocd+libswd-4b9bdd664a79d5713b22a178086b071abc049d01.zip
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
Diffstat (limited to 'src')
-rw-r--r--src/ecosboard.c2
-rw-r--r--src/helper/command.c2
-rw-r--r--src/helper/configuration.h1
-rw-r--r--src/helper/options.c10
4 files changed, 8 insertions, 7 deletions
diff --git a/src/ecosboard.c b/src/ecosboard.c
index 78623ae0..419f038d 100644
--- a/src/ecosboard.c
+++ b/src/ecosboard.c
@@ -918,7 +918,7 @@ command_context_t *setup_command_handler(void);
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("/rom/lib/openocd");
diff --git a/src/helper/command.c b/src/helper/command.c
index d93020e9..ca83ec6f 100644
--- a/src/helper/command.c
+++ b/src/helper/command.c
@@ -744,8 +744,6 @@ command_context_t* command_init()
interp->cb_fflush = openocd_jim_fflush;
interp->cb_fgets = openocd_jim_fgets;
- add_default_dirs();
-
#if !BUILD_ECOSBOARD
Jim_EventLoopOnLoad(interp);
#endif
diff --git a/src/helper/configuration.h b/src/helper/configuration.h
index 5bdb58f6..16bd8d84 100644
--- a/src/helper/configuration.h
+++ b/src/helper/configuration.h
@@ -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 FILE *open_file_from_path (char *file, char *mode);
extern char *find_file(const char *name);
-int add_default_dirs(void);
#endif /* CONFIGURATION_H */
diff --git a/src/helper/options.c b/src/helper/options.c
index 05587c8c..a0c9a9e9 100644
--- a/src/helper/options.c
+++ b/src/helper/options.c
@@ -38,7 +38,7 @@ static struct option long_options[] =
{"help", no_argument, &help_flag, 1},
{"version", no_argument, &version_flag, 1},
{"debug", optional_argument, 0, 'd'},
- {"file", required_argument, 0, 'f'},
+ {"file", required_argument, 0, 'f'},
{"search", required_argument, 0, 's'},
{"log_output", required_argument, 0, 'l'},
{"command", required_argument, 0, 'c'},
@@ -53,7 +53,7 @@ int configuration_output_handler(struct command_context_s *context, const char*
return ERROR_OK;
}
-int add_default_dirs(void)
+static void add_default_dirs(void)
{
#ifdef _WIN32
/* 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 "/scripts");
#endif
- return ERROR_OK;
}
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);
}
+ /* paths specified on the command line take precedence over these
+ * built-in paths
+ */
+ add_default_dirs();
+
return ERROR_OK;
}