X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fcli%2Fcli-utils.h;h=ebf11f28b952aaf0f3fee21f94a5430e62a1d4df;hb=5d5658a1d3c3eb2a09c03f2f0662a1c01963c869;hp=152fb89671350d99994ec990c68b0bd873e925f9;hpb=bbc13ae3db19a3276ba029c838682f81d10f859a;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/cli/cli-utils.h b/gdb/cli/cli-utils.h index 152fb89671..ebf11f28b9 100644 --- a/gdb/cli/cli-utils.h +++ b/gdb/cli/cli-utils.h @@ -1,6 +1,6 @@ /* CLI utilities. - Copyright (C) 2011-2013 Free Software Foundation, Inc. + Copyright (C) 2011-2016 Free Software Foundation, Inc. This file is part of GDB. @@ -20,11 +20,22 @@ #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. +/* *PP is a string denoting a number. Get the number. 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, or ("$" or "$$") followed by digits. */ + The string can either be a number, or "$" followed by the name of a + convenience variable, or ("$" or "$$") followed by digits. + + TRAILER is a character which can be found after the number; most + commonly this is `-'. If you don't want a trailer, use \0. */ + +extern int get_number_trailer (const char **pp, int trailer); + +/* Convenience. Like get_number_trailer, but with no TRAILER. */ + +extern int get_number_const (const char **); + +/* Like get_number_const, but takes a non-const "char **". */ extern int get_number (char **); @@ -40,7 +51,7 @@ struct get_number_or_range_state /* The string being parsed. When parsing has finished, this points past the last parsed token. */ - char *string; + const char *string; /* Last value returned. */ int last_retval; @@ -50,7 +61,7 @@ struct get_number_or_range_state /* When parsing a range, a pointer past the final token in the range. */ - char *end_ptr; + const char *end_ptr; /* Non-zero when parsing a range. */ int in_range; @@ -60,7 +71,7 @@ struct get_number_or_range_state get_number_or_range_state. STRING is the string to be parsed. */ extern void init_number_or_range (struct get_number_or_range_state *state, - char *string); + const char *string); /* Parse a number or a range. A number will be of the form handled by get_number. @@ -87,25 +98,7 @@ extern int get_number_or_range (struct get_number_or_range_state *state); be interpreted as typing a command such as "delete break" with no arguments. */ -extern int number_is_in_list (char *list, int number); - -/* Skip leading whitespace characters in INP, returning an updated - pointer. If INP is NULL, return NULL. */ - -extern char *skip_spaces (char *inp); - -/* A const-correct version of the above. */ - -extern const char *skip_spaces_const (const char *inp); - -/* Skip leading non-whitespace characters in INP, returning an updated - pointer. If INP is NULL, return NULL. */ - -#define skip_to_space(INP) ((char *) skip_to_space_const (INP)) - -/* A const-correct version of the above. */ - -extern const char *skip_to_space_const (const char *inp); +extern int number_is_in_list (const char *list, int number); /* Reverse S to the last non-whitespace character without skipping past START. */ @@ -118,6 +111,13 @@ extern char *remove_trailing_whitespace (const char *start, char *s); extern char *extract_arg (char **arg); +/* A const-correct version of "extract_arg". + + Since the returned value is xmalloc'd, it eventually needs to be + xfree'ed, which prevents us from making it const as well. */ + +extern char *extract_arg_const (const char **arg); + /* A helper function that looks for an argument at the start of a string. The argument must also either be at the end of the string, or be followed by whitespace. Returns 1 if it finds the argument,