diff options
author | Tom Tromey <tom@tromey.com> | 2018-04-01 09:33:13 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-04-05 07:39:36 -0600 |
commit | 459a2e4ccf9aadfba9819facba1c9be5297c1625 (patch) | |
tree | 2209376112b15dd814aa718a0d3b1247fecc7fe9 /gdb/utils.h | |
parent | 9be2c17a900178df75a2208fd112ceb4325a70c1 (diff) | |
download | gdb-459a2e4ccf9aadfba9819facba1c9be5297c1625.zip gdb-459a2e4ccf9aadfba9819facba1c9be5297c1625.tar.gz gdb-459a2e4ccf9aadfba9819facba1c9be5297c1625.tar.bz2 |
Change streq to return bool
I wanted to use streq with std::unique in another (upcoming) patch in
this seres, so I changed it to return bool. To my surprise, this lead
to regressions. The cause turned out to be that streq was used as an
htab callback -- by casting it to the correct function type. This
sort of cast is invalid, so this patch adds a variant which is
directly suitable for use by htab. (Note that I did not add an
overload, as I could not get that to work with template deduction in
the other patch.)
ChangeLog
2018-04-05 Tom Tromey <tom@tromey.com>
* completer.c (completion_tracker::completion_tracker): Remove
cast.
(completion_tracker::discard_completions): Likewise.
* breakpoint.c (ambiguous_names_p): Remove cast.
* ada-lang.c (_initialize_ada_language): Remove cast.
* utils.h (streq): Update.
(streq_hash): Add new declaration.
* utils.c (streq): Return bool.
(streq_hash): New function.
Diffstat (limited to 'gdb/utils.h')
-rw-r--r-- | gdb/utils.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gdb/utils.h b/gdb/utils.h index 0de0fe2..d3b8871 100644 --- a/gdb/utils.h +++ b/gdb/utils.h @@ -89,7 +89,14 @@ extern int strcmp_iw (const char *string1, const char *string2); extern int strcmp_iw_ordered (const char *, const char *); -extern int streq (const char *, const char *); +/* Return true if the strings are equal. */ + +extern bool streq (const char *, const char *); + +/* A variant of streq that is suitable for use as an htab + callback. */ + +extern int streq_hash (const void *, const void *); extern int subset_compare (const char *, const char *); |