From 486ef3b9331303f5913b3c8cbf390505cbf72038 Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Mon, 2 Jun 2014 08:34:25 -0700 Subject: [PATCH] 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. --- gdb/ChangeLog | 5 +++++ gdb/source.c | 11 ++--------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index aa56a106db..6faa689b48 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2014-06-02 Joel Brobecker + + * source.c (substitute_path_rule_matches): Simplify using + filename_ncmp instead of FILENAME_CMP. + 2014-06-02 Joel Brobecker * source.c (substitute_path_rule_matches): Remove trailing spaces. diff --git a/gdb/source.c b/gdb/source.c index cb05939710..c985a1b1fe 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