- Replace 'for(' with 'for ('.
[fw/openocd] / src / helper / options.c
index dd9f71387a79733b2c39275e8f5b716264d4c672..23491d3f5b2c075cd932ffff2fafca990e06260e 100644 (file)
 #include "config.h"
 #endif
 
-#include "replacements.h"
-
-#include "types.h"
-#include "command.h"
 #include "configuration.h"
 #include "log.h"
+// @todo the inclusion of server.h here is a layering violation
 #include "server.h"
 
-#include <stdio.h>
-#include <stdlib.h>
 #include <getopt.h>
-#include <string.h>
 
 static int help_flag, version_flag;
 
@@ -54,7 +48,7 @@ static struct option long_options[] =
 
 int configuration_output_handler(struct command_context_s *context, const char* line)
 {
-       LOG_USER_N(line);
+       LOG_USER_N("%s", line);
 
        return ERROR_OK;
 }
@@ -80,11 +74,37 @@ int add_default_dirs(void)
                strcat(strExePath, "\\..");
                add_script_search_dir(strExePath);
        }
+       /*
+        * Add support for the default (as of 20080121) layout when
+        * using autotools and cygwin to build native MinGW binary.
+        * Path separator is converted to UNIX style so that MinGW is
+        * pleased.
+        *
+        * bin/openocd.exe
+        * lib/openocd/event/at91eb40a_reset.cfg
+        * lib/openocd/target/at91eb40a.cfg
+        */
+       {
+               char strExePath [MAX_PATH];
+               char *p;
+               GetModuleFileName (NULL, strExePath, MAX_PATH);
+               *strrchr(strExePath, '\\')=0;
+               strcat(strExePath, "/../lib/"PACKAGE);
+               for (p=strExePath; *p; p++) {
+                       if (*p == '\\')
+                               *p = '/';
+               }
+               add_script_search_dir(strExePath);
+       }
 #else
-       /* Add dir for openocd supplied scripts last so that user can over
-          ride those scripts if desired. */
-       add_script_search_dir(PKGDATADIR);
-       add_script_search_dir(PKGLIBDIR);
+       /*
+        * The directory containing OpenOCD-supplied scripts should be
+        * listed last in the built-in search order, so the user can
+        * override these scripts with site-specific customizations.
+        */
+       /// @todo Implement @c add_script_search_dir("${HOME}/.openocd").
+       add_script_search_dir(PKGDATADIR "/site");
+       add_script_search_dir(PKGDATADIR "/scripts");
 #endif
        return ERROR_OK;
 }