aboutsummaryrefslogtreecommitdiff
path: root/gdb/utils.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2018-04-01 09:33:13 -0600
committerTom Tromey <tom@tromey.com>2018-04-05 07:39:36 -0600
commit459a2e4ccf9aadfba9819facba1c9be5297c1625 (patch)
tree2209376112b15dd814aa718a0d3b1247fecc7fe9 /gdb/utils.c
parent9be2c17a900178df75a2208fd112ceb4325a70c1 (diff)
downloadgdb-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.c')
-rw-r--r--gdb/utils.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/gdb/utils.c b/gdb/utils.c
index ee19fed..bd7553e 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -2601,13 +2601,22 @@ strcmp_iw_ordered (const char *string1, const char *string2)
}
}
-/* A simple comparison function with opposite semantics to strcmp. */
+/* See utils.h. */
-int
+bool
streq (const char *lhs, const char *rhs)
{
return !strcmp (lhs, rhs);
}
+
+/* See utils.h. */
+
+int
+streq_hash (const void *lhs, const void *rhs)
+{
+ return streq ((const char *) lhs, (const char *) rhs);
+}
+
/*