aboutsummaryrefslogtreecommitdiff
path: root/gdb/cli/cli-utils.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2011-02-21 18:13:17 +0000
committerTom Tromey <tromey@redhat.com>2011-02-21 18:13:17 +0000
commite9cafbccd26b045ba6a3db2fde83dd33228e473b (patch)
tree2ff85b840a2849b1564202ebac2e3d2f17b541ce /gdb/cli/cli-utils.h
parentf67fd822d03bd263034b549d89d98e98356ff194 (diff)
downloadgdb-e9cafbccd26b045ba6a3db2fde83dd33228e473b.zip
gdb-e9cafbccd26b045ba6a3db2fde83dd33228e473b.tar.gz
gdb-e9cafbccd26b045ba6a3db2fde83dd33228e473b.tar.bz2
* reverse.c: Include cli-utils.h.
* printcmd.c: Include cli-utils.h. (string_printf): Use skip_spaces. * cli/cli-utils.h: New file. * cli/cli-utils.c: New file. * cli/cli-dump.h (skip_spaces): Move to cli-utils.h. * cli/cli-dump.c (skip_spaces): Move to cli-utils.c. * breakpoint.h (get_number, get_number_or_range): Move to cli-utils.h. * breakpoint.c: Include cli-utils.h. (get_number_trailer, get_number, get_number_or_range) (ep_skip_leading_whitespace): Move to cli-utils.c. (create_breakpoint_sal, find_condition_and_thread) (decode_static_tracepoint_spec, watch_command_1) (watch_maybe_just_location, ep_parse_optional_if_clause) (catch_fork_command_1, catch_exec_command_1) (catch_syscall_command_1): Use skip_spaces, skip_to_space. * Makefile.in (SUBDIR_CLI_OBS): Add cli-utils.o. (SUBDIR_CLI_SRCS): Add cli-utils.c. (HFILES_NO_SRCDIR): Add cli-utils.h. (cli-utils.o): New target.
Diffstat (limited to 'gdb/cli/cli-utils.h')
-rw-r--r--gdb/cli/cli-utils.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/gdb/cli/cli-utils.h b/gdb/cli/cli-utils.h
new file mode 100644
index 0000000..e79b82e
--- /dev/null
+++ b/gdb/cli/cli-utils.h
@@ -0,0 +1,58 @@
+/* CLI utilities.
+
+ Copyright (c) 2011 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef CLI_UTILS_H
+#define CLI_UTILS_H
+
+/* *PP is a string denoting a number. Get the number of the. Advance
+ *PP after the string and any trailing whitespace.
+
+ Currently the string can either be a number or "$" followed by the
+ name of a convenience variable. */
+
+extern int get_number (char **);
+
+/* Parse a number or a range.
+ A number will be of the form handled by get_number.
+ A range will be of the form <number1> - <number2>, and
+ will represent all the integers between number1 and number2,
+ inclusive.
+
+ While processing a range, this fuction is called iteratively;
+ At each call it will return the next value in the range.
+
+ At the beginning of parsing a range, the char pointer PP will
+ be advanced past <number1> and left pointing at the '-' token.
+ Subsequent calls will not advance the pointer until the range
+ is completed. The call that completes the range will advance
+ pointer PP past <number2>. */
+
+extern int get_number_or_range (char **);
+
+/* Skip leading whitespace characters in INP, returning an updated
+ pointer. If INP is NULL, return NULL. */
+
+extern char *skip_spaces (char *inp);
+
+/* Skip leading non-whitespace characters in INP, returning an updated
+ pointer. If INP is NULL, return NULL. */
+
+extern char *skip_to_space (char *inp);
+
+#endif /* CLI_UTILS_H */