projects
/
fw
/
openocd
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
log: fix kept_alive() and report expired timeout
[fw/openocd]
/
src
/
helper
/
options.c
diff --git
a/src/helper/options.c
b/src/helper/options.c
index 0016659148aa0b39e37660b9373ac8e2a5e2cc31..6622ece6ca2c076854301517e7aef959ab500f52 100644
(file)
--- a/
src/helper/options.c
+++ b/
src/helper/options.c
@@
-34,9
+34,15
@@
#if IS_DARWIN
#include <libproc.h>
#endif
#if IS_DARWIN
#include <libproc.h>
#endif
+/* sys/sysctl.h is deprecated on Linux from glibc 2.30 */
+#ifndef __linux__
#ifdef HAVE_SYS_SYSCTL_H
#include <sys/sysctl.h>
#endif
#ifdef HAVE_SYS_SYSCTL_H
#include <sys/sysctl.h>
#endif
+#endif
+#if IS_WIN32 && !IS_CYGWIN
+#include <windows.h>
+#endif
static int help_flag, version_flag;
static int help_flag, version_flag;
@@
-266,19
+272,14
@@
int parse_cmdline_args(struct command_context *cmd_ctx, int argc, char *argv[])
break;
case 'd': /* --debug | -d */
{
break;
case 'd': /* --debug | -d */
{
- char *command = alloc_printf("debug_level %s", optarg ? optarg : "3");
- int retval = command_run_line(cmd_ctx, command);
- free(command);
+ int retval = command_run_linef(cmd_ctx, "debug_level %s", optarg ? optarg : "3");
if (retval != ERROR_OK)
return retval;
break;
}
case 'l': /* --log_output | -l */
if (retval != ERROR_OK)
return retval;
break;
}
case 'l': /* --log_output | -l */
- if (optarg) {
- char *command = alloc_printf("log_output %s", optarg);
- command_run_line(cmd_ctx, command);
- free(command);
- }
+ if (optarg)
+ command_run_linef(cmd_ctx, "log_output %s", optarg);
break;
case 'c': /* --command | -c */
if (optarg)
break;
case 'c': /* --command | -c */
if (optarg)
@@
-291,9
+292,18
@@
int parse_cmdline_args(struct command_context *cmd_ctx, int argc, char *argv[])
LOG_WARNING("deprecated option: -p/--pipe. Use '-c \"gdb_port pipe; "
"log_output openocd.log\"' instead.");
break;
LOG_WARNING("deprecated option: -p/--pipe. Use '-c \"gdb_port pipe; "
"log_output openocd.log\"' instead.");
break;
+ default: /* '?' */
+ /* getopt will emit an error message, all we have to do is bail. */
+ return ERROR_FAIL;
}
}
}
}
+ if (optind < argc) {
+ /* Catch extra arguments on the command line. */
+ LOG_OUTPUT("Unexpected command line argument: %s\n", argv[optind]);
+ return ERROR_FAIL;
+ }
+
if (help_flag) {
LOG_OUTPUT("Open On-Chip Debugger\nLicensed under GNU GPL v2\n");
LOG_OUTPUT("--help | -h\tdisplay this help\n");
if (help_flag) {
LOG_OUTPUT("Open On-Chip Debugger\nLicensed under GNU GPL v2\n");
LOG_OUTPUT("--help | -h\tdisplay this help\n");