aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@adacore.com>2014-06-02 08:34:25 -0700
committerJoel Brobecker <brobecker@adacore.com>2014-06-02 08:39:02 -0700
commit486ef3b9331303f5913b3c8cbf390505cbf72038 (patch)
tree19cf48c0300b0119e6ac28776b2c678e2471901d
parent230cd560c88f323e2c3e0ed9186e134ef70369e0 (diff)
downloadgdb-486ef3b9331303f5913b3c8cbf390505cbf72038.zip
gdb-486ef3b9331303f5913b3c8cbf390505cbf72038.tar.gz
gdb-486ef3b9331303f5913b3c8cbf390505cbf72038.tar.bz2
simplify substitute_path_rule_matches using filename_ncmp
At the time this function was written, there was no filename_ncmp, only FILENAME_CMP. So, in order to do an n-cmp, we had to make a local copy of the first n characters of our string and use that to perform the comparison. This patch simplifies the function's implementation, now that we have filename_ncmp. gdb/ChangeLog: * source.c (substitute_path_rule_matches): Simplify using filename_ncmp instead of FILENAME_CMP. Tested on x86_64-linux.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/source.c11
2 files changed, 7 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index aa56a10..6faa689 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2014-06-02 Joel Brobecker <brobecker@adacore.com>
+ * source.c (substitute_path_rule_matches): Simplify using
+ filename_ncmp instead of FILENAME_CMP.
+
+2014-06-02 Joel Brobecker <brobecker@adacore.com>
+
* source.c (substitute_path_rule_matches): Remove trailing spaces.
2014-06-01 Ludovic Courtès <ludo@gnu.org>
diff --git a/gdb/source.c b/gdb/source.c
index cb05939..c985a1b 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -932,21 +932,14 @@ substitute_path_rule_matches (const struct substitute_path_rule *rule,
{
const int from_len = strlen (rule->from);
const int path_len = strlen (path);
- char *path_start;
if (path_len < from_len)
return 0;
/* The substitution rules are anchored at the start of the path,
- so the path should start with rule->from. There is no filename
- comparison routine, so we need to extract the first FROM_LEN
- characters from PATH first and use that to do the comparison. */
+ so the path should start with rule->from. */
- path_start = alloca (from_len + 1);
- strncpy (path_start, path, from_len);
- path_start[from_len] = '\0';
-
- if (FILENAME_CMP (path_start, rule->from) != 0)
+ if (filename_ncmp (path, rule->from, from_len) != 0)
return 0;
/* Make sure that the region in the path that matches the substitution