| Index: gdb/mi/mi-getopt.c
|
| diff --git a/gdb/mi/mi-getopt.c b/gdb/mi/mi-getopt.c
|
| index 3a7c6a300d258f24ee9b1071762214c0aa6bfb78..3ecc73dc3e54f224aabf3351f0847f00047c7d7f 100644
|
| --- a/gdb/mi/mi-getopt.c
|
| +++ b/gdb/mi/mi-getopt.c
|
| @@ -1,5 +1,5 @@
|
| /* MI Command Set - MI Option Parser.
|
| - Copyright (C) 2000-2001, 2007-2012 Free Software Foundation, Inc.
|
| + Copyright (C) 2000-2013 Free Software Foundation, Inc.
|
| Contributed by Cygnus Solutions (a Red Hat company).
|
|
|
| This file is part of GDB.
|
| @@ -19,13 +19,16 @@
|
|
|
| #include "defs.h"
|
| #include "mi-getopt.h"
|
| -#include "gdb_string.h"
|
| +#include <string.h>
|
|
|
| -int
|
| -mi_getopt (const char *prefix,
|
| - int argc, char **argv,
|
| - const struct mi_opt *opts,
|
| - int *oind, char **oarg)
|
| +/* See comments about mi_getopt and mi_getopt_silent in mi-getopt.h.
|
| + When there is an unknown option, if ERROR_ON_UNKNOWN is true,
|
| + throw an error, otherwise return -1. */
|
| +
|
| +static int
|
| +mi_getopt_1 (const char *prefix, int argc, char **argv,
|
| + const struct mi_opt *opts, int *oind, char **oarg,
|
| + int error_on_unknown)
|
| {
|
| char *arg;
|
| const struct mi_opt *opt;
|
| @@ -71,7 +74,27 @@ mi_getopt (const char *prefix,
|
| return opt->index;
|
| }
|
| }
|
| - error (_("%s: Unknown option ``%s''"), prefix, arg + 1);
|
| +
|
| + if (error_on_unknown)
|
| + error (_("%s: Unknown option ``%s''"), prefix, arg + 1);
|
| + else
|
| + return -1;
|
| +}
|
| +
|
| +int
|
| +mi_getopt (const char *prefix,
|
| + int argc, char **argv,
|
| + const struct mi_opt *opts,
|
| + int *oind, char **oarg)
|
| +{
|
| + return mi_getopt_1 (prefix, argc, argv, opts, oind, oarg, 1);
|
| +}
|
| +
|
| +int
|
| +mi_getopt_allow_unknown (const char *prefix, int argc, char **argv,
|
| + const struct mi_opt *opts, int *oind, char **oarg)
|
| +{
|
| + return mi_getopt_1 (prefix, argc, argv, opts, oind, oarg, 0);
|
| }
|
|
|
| int
|
|
|