mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-16 15:04:46 +00:00
Use regex::match wrapper instead of regexec.
This patch eliminates all calls to regexec except that by regex::match itself. There are no behavioural changes. * src/abg-corpus-priv.h: Mechanically substitute use of regexec with regex::match wrapper. * src/abg-suppression-priv.h: Ditto. * src/abg-suppression.cc: Ditto. Reviewed-by: Matthias Maennich <maennich@google.com> Signed-off-by: Giuliano Procida <gprocida@google.com>
This commit is contained in:
parent
dc0ac49157
commit
249a011913
@ -521,7 +521,7 @@ public:
|
||||
compiled_regex_fns_suppress().begin();
|
||||
i != compiled_regex_fns_suppress().end();
|
||||
++i)
|
||||
if (regexec(i->get(), frep.c_str(), 0, NULL, 0) == 0)
|
||||
if (regex::match(*i, frep))
|
||||
{
|
||||
keep = false;
|
||||
break;
|
||||
@ -554,7 +554,7 @@ public:
|
||||
compiled_regex_fns_keep().begin();
|
||||
i != compiled_regex_fns_keep().end();
|
||||
++i)
|
||||
if (regexec(i->get(), frep.c_str(), 0, NULL, 0) == 0)
|
||||
if (regex::match(*i, frep))
|
||||
{
|
||||
keep = true;
|
||||
break;
|
||||
@ -628,7 +628,7 @@ public:
|
||||
compiled_regex_vars_suppress().begin();
|
||||
i != compiled_regex_vars_suppress().end();
|
||||
++i)
|
||||
if (regexec(i->get(), frep.c_str(), 0, NULL, 0) == 0)
|
||||
if (regex::match(*i, frep))
|
||||
{
|
||||
keep = false;
|
||||
break;
|
||||
@ -662,7 +662,7 @@ public:
|
||||
compiled_regex_vars_keep().begin();
|
||||
i != compiled_regex_vars_keep().end();
|
||||
++i)
|
||||
if (regexec(i->get(), frep.c_str(), 0, NULL, 0) == 0)
|
||||
if (regex::match(*i, frep))
|
||||
{
|
||||
keep = true;
|
||||
break;
|
||||
|
@ -160,14 +160,14 @@ public:
|
||||
if (regex::regex_t_sptr regexp = get_soname_regex())
|
||||
{
|
||||
has_regexp = true;
|
||||
if (regexec(regexp.get(), soname.c_str(), 0, NULL, 0) != 0)
|
||||
if (!regex::match(regexp, soname))
|
||||
return false;
|
||||
}
|
||||
|
||||
if (regex::regex_t_sptr regexp = get_soname_not_regex())
|
||||
{
|
||||
has_regexp = true;
|
||||
if (regexec(regexp.get(), soname.c_str(), 0, NULL, 0) == 0)
|
||||
if (regex::match(regexp, soname))
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -195,16 +195,14 @@ public:
|
||||
if (regex::regex_t_sptr regexp = get_file_name_regex())
|
||||
{
|
||||
has_regexp = true;
|
||||
if (regexec(regexp.get(), binary_name.c_str(),
|
||||
0, NULL, 0) != 0)
|
||||
if (!regex::match(regexp, binary_name))
|
||||
return false;
|
||||
}
|
||||
|
||||
if (regex::regex_t_sptr regexp = get_file_name_not_regex())
|
||||
{
|
||||
has_regexp = true;
|
||||
if (regexec(regexp.get(), binary_name.c_str(),
|
||||
0, NULL, 0) == 0)
|
||||
if (regex::match(regexp, binary_name))
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1014,18 +1014,14 @@ suppression_matches_type_name(const type_suppression& s,
|
||||
if (const regex_t_sptr& type_name_regex =
|
||||
s.priv_->get_type_name_regex())
|
||||
{
|
||||
if (regexec(type_name_regex.get(),
|
||||
type_name.c_str(),
|
||||
0, NULL, 0) != 0)
|
||||
if (!regex::match(type_name_regex, type_name))
|
||||
return false;
|
||||
}
|
||||
|
||||
if (const regex_t_sptr type_name_not_regex =
|
||||
s.priv_->get_type_name_not_regex())
|
||||
{
|
||||
if (regexec(type_name_not_regex.get(),
|
||||
type_name.c_str(),
|
||||
0, NULL, 0) == 0)
|
||||
if (regex::match(type_name_not_regex, type_name))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -1072,7 +1068,7 @@ suppression_matches_type_location(const type_suppression& s,
|
||||
loc.expand(loc_path, loc_line, loc_column);
|
||||
|
||||
if (regex_t_sptr regexp = s.priv_->get_source_location_to_keep_regex())
|
||||
if (regexec(regexp.get(), loc_path.c_str(), 0, NULL, 0) == 0)
|
||||
if (regex::match(regexp, loc_path))
|
||||
return false;
|
||||
|
||||
tools_utils::base_name(loc_path, loc_path_base);
|
||||
@ -2525,9 +2521,7 @@ function_suppression::suppresses_function(const function_decl* fn,
|
||||
const regex_t_sptr name_regex = priv_->get_name_regex();
|
||||
if (name_regex)
|
||||
{
|
||||
if (regexec(name_regex.get(),
|
||||
fname.c_str(),
|
||||
0, NULL, 0) != 0)
|
||||
if (!regex::match(name_regex, fname))
|
||||
return false;
|
||||
|
||||
if (get_allow_other_aliases()
|
||||
@ -2548,9 +2542,7 @@ function_suppression::suppresses_function(const function_decl* fn,
|
||||
for (elf_symbol_sptr a = sym->get_next_alias();
|
||||
a && !a->is_main_symbol();
|
||||
a = a->get_next_alias())
|
||||
if (regexec(name_regex.get(),
|
||||
a->get_name().c_str(),
|
||||
0, NULL, 0) != 0)
|
||||
if (!regex::match(name_regex, a->get_name()))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -2560,9 +2552,7 @@ function_suppression::suppresses_function(const function_decl* fn,
|
||||
const regex_t_sptr name_not_regex = priv_->get_name_not_regex();
|
||||
if (name_not_regex)
|
||||
{
|
||||
if (regexec(name_not_regex.get(),
|
||||
fname.c_str(),
|
||||
0, NULL, 0) == 0)
|
||||
if (regex::match(name_not_regex, fname))
|
||||
return false;
|
||||
|
||||
if (get_allow_other_aliases()
|
||||
@ -2583,9 +2573,7 @@ function_suppression::suppresses_function(const function_decl* fn,
|
||||
for (elf_symbol_sptr a = sym->get_next_alias();
|
||||
a && !a->is_main_symbol();
|
||||
a = a->get_next_alias())
|
||||
if (regexec(name_regex.get(),
|
||||
a->get_name().c_str(),
|
||||
0, NULL, 0) == 0)
|
||||
if (regex::match(name_regex, a->get_name()))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -2609,9 +2597,7 @@ function_suppression::suppresses_function(const function_decl* fn,
|
||||
{
|
||||
const regex_t_sptr return_type_regex = priv_->get_return_type_regex();
|
||||
if (return_type_regex
|
||||
&& (regexec(return_type_regex.get(),
|
||||
fn_return_type_name.c_str(),
|
||||
0, NULL, 0) != 0))
|
||||
&& !regex::match(return_type_regex, fn_return_type_name))
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -2648,18 +2634,13 @@ function_suppression::suppresses_function(const function_decl* fn,
|
||||
else if (sym)
|
||||
{
|
||||
const regex_t_sptr symbol_name_regex = priv_->get_symbol_name_regex();
|
||||
if (symbol_name_regex
|
||||
&& (regexec(symbol_name_regex.get(),
|
||||
fn_sym_name.c_str(),
|
||||
0, NULL, 0) != 0))
|
||||
if (symbol_name_regex && !regex::match(symbol_name_regex, fn_sym_name))
|
||||
return false;
|
||||
|
||||
const regex_t_sptr symbol_name_not_regex =
|
||||
priv_->get_symbol_name_not_regex();
|
||||
if (symbol_name_not_regex
|
||||
&& (regexec(symbol_name_not_regex.get(),
|
||||
fn_sym_name.c_str(),
|
||||
0, NULL, 0) == 0))
|
||||
&& regex::match(symbol_name_not_regex, fn_sym_name))
|
||||
return false;
|
||||
|
||||
if (get_allow_other_aliases())
|
||||
@ -2674,15 +2655,11 @@ function_suppression::suppresses_function(const function_decl* fn,
|
||||
a = a->get_next_alias())
|
||||
{
|
||||
if (symbol_name_regex
|
||||
&& (regexec(symbol_name_regex.get(),
|
||||
a->get_name().c_str(),
|
||||
0, NULL, 0) != 0))
|
||||
&& !regex::match(symbol_name_regex, a->get_name()))
|
||||
return false;
|
||||
|
||||
if (symbol_name_not_regex
|
||||
&& (regexec(symbol_name_not_regex.get(),
|
||||
a->get_name().c_str(),
|
||||
0, NULL, 0) == 0))
|
||||
&& regex::match(symbol_name_not_regex, a->get_name()))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -2701,9 +2678,7 @@ function_suppression::suppresses_function(const function_decl* fn,
|
||||
const regex_t_sptr symbol_version_regex =
|
||||
priv_->get_symbol_version_regex();
|
||||
if (symbol_version_regex
|
||||
&& (regexec(symbol_version_regex.get(),
|
||||
fn_sym_version.c_str(),
|
||||
0, NULL, 0) != 0))
|
||||
&& !regex::match(symbol_version_regex, fn_sym_version))
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -2744,9 +2719,8 @@ function_suppression::suppresses_function(const function_decl* fn,
|
||||
(*p)->priv_->get_type_name_regex();
|
||||
if (parm_type_name_regex)
|
||||
{
|
||||
if ((regexec(parm_type_name_regex.get(),
|
||||
fn_parm_type_qualified_name.c_str(),
|
||||
0, NULL, 0) != 0))
|
||||
if (!regex::match(parm_type_name_regex,
|
||||
fn_parm_type_qualified_name))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -2834,10 +2808,7 @@ function_suppression::suppresses_function_symbol(const elf_symbol* sym,
|
||||
else if (!get_symbol_name_regex_str().empty())
|
||||
{
|
||||
const regex_t_sptr symbol_name_regex = priv_->get_symbol_name_regex();
|
||||
if (symbol_name_regex
|
||||
&& (regexec(symbol_name_regex.get(),
|
||||
sym_name.c_str(),
|
||||
0, NULL, 0) != 0))
|
||||
if (symbol_name_regex && !regex::match(symbol_name_regex, sym_name))
|
||||
return false;
|
||||
}
|
||||
else
|
||||
@ -2854,9 +2825,7 @@ function_suppression::suppresses_function_symbol(const elf_symbol* sym,
|
||||
const regex_t_sptr symbol_version_regex =
|
||||
priv_->get_symbol_version_regex();
|
||||
if (symbol_version_regex
|
||||
&& (regexec(symbol_version_regex.get(),
|
||||
sym_version.c_str(),
|
||||
0, NULL, 0) != 0))
|
||||
&& !regex::match(symbol_version_regex, sym_version))
|
||||
return false;
|
||||
}
|
||||
else
|
||||
@ -2948,12 +2917,12 @@ suppression_matches_function_name(const suppr::function_suppression& s,
|
||||
{
|
||||
if (regex_t_sptr regexp = s.priv_->get_name_regex())
|
||||
{
|
||||
if (regexec(regexp.get(), fn_name.c_str(), 0, NULL, 0) != 0)
|
||||
if (!regex::match(regexp, fn_name))
|
||||
return false;
|
||||
}
|
||||
else if (regex_t_sptr regexp = s.priv_->get_name_not_regex())
|
||||
{
|
||||
if (regexec(regexp.get(), fn_name.c_str(), 0, NULL, 0) == 0)
|
||||
if (regex::match(regexp, fn_name))
|
||||
return false;
|
||||
}
|
||||
else if (s.priv_->name_.empty())
|
||||
@ -2984,12 +2953,12 @@ suppression_matches_function_sym_name(const suppr::function_suppression& s,
|
||||
{
|
||||
if (regex_t_sptr regexp = s.priv_->get_symbol_name_regex())
|
||||
{
|
||||
if (regexec(regexp.get(), fn_linkage_name.c_str(), 0, NULL, 0) != 0)
|
||||
if (!regex::match(regexp, fn_linkage_name))
|
||||
return false;
|
||||
}
|
||||
else if (regex_t_sptr regexp = s.priv_->get_symbol_name_not_regex())
|
||||
{
|
||||
if (regexec(regexp.get(), fn_linkage_name.c_str(), 0, NULL, 0) == 0)
|
||||
if (regex::match(regexp, fn_linkage_name))
|
||||
return false;
|
||||
}
|
||||
else if (s.priv_->symbol_name_.empty())
|
||||
@ -3017,12 +2986,12 @@ suppression_matches_variable_name(const suppr::variable_suppression& s,
|
||||
{
|
||||
if (regex_t_sptr regexp = s.priv_->get_name_regex())
|
||||
{
|
||||
if (regexec(regexp.get(), var_name.c_str(), 0, NULL, 0) != 0)
|
||||
if (!regex::match(regexp, var_name))
|
||||
return false;
|
||||
}
|
||||
else if (regex_t_sptr regexp = s.priv_->get_name_not_regex())
|
||||
{
|
||||
if (regexec(regexp.get(), var_name.c_str(), 0, NULL, 0) == 0)
|
||||
if (regex::match(regexp, var_name))
|
||||
return false;
|
||||
}
|
||||
else if (s.priv_->name_.empty())
|
||||
@ -3051,13 +3020,13 @@ suppression_matches_variable_sym_name(const suppr::variable_suppression& s,
|
||||
{
|
||||
if (regex_t_sptr regexp = s.priv_->get_symbol_name_regex())
|
||||
{
|
||||
if (regexec(regexp.get(), var_linkage_name.c_str(), 0, NULL, 0) != 0)
|
||||
if (!regex::match(regexp, var_linkage_name))
|
||||
return false;
|
||||
}
|
||||
else if (regex_t_sptr regexp =
|
||||
s.priv_->get_symbol_name_not_regex())
|
||||
{
|
||||
if (regexec(regexp.get(), var_linkage_name.c_str(), 0, NULL, 0) == 0)
|
||||
if (regex::match(regexp, var_linkage_name))
|
||||
return false;
|
||||
}
|
||||
else if (s.priv_->symbol_name_.empty())
|
||||
@ -3086,7 +3055,7 @@ suppression_matches_type(const suppr::type_suppression& s,
|
||||
{
|
||||
if (regex_t_sptr regexp = s.priv_->get_type_name_regex())
|
||||
{
|
||||
if (regexec(regexp.get(), type_name.c_str(), 0, NULL, 0) != 0)
|
||||
if (!regex::match(regexp, type_name))
|
||||
return false;
|
||||
}
|
||||
else if (!s.get_type_name().empty())
|
||||
@ -3807,15 +3776,11 @@ variable_suppression::suppresses_variable(const var_decl* var,
|
||||
if (get_name().empty())
|
||||
{
|
||||
const regex_t_sptr name_regex = priv_->get_name_regex();
|
||||
if (name_regex
|
||||
&& (regexec(name_regex.get(), var_name.c_str(),
|
||||
0, NULL, 0) != 0))
|
||||
if (name_regex && !regex::match(name_regex, var_name))
|
||||
return false;
|
||||
|
||||
const regex_t_sptr name_not_regex = priv_->get_name_not_regex();
|
||||
if (name_not_regex
|
||||
&& (regexec(name_not_regex.get(), var_name.c_str(),
|
||||
0, NULL, 0) == 0))
|
||||
if (name_not_regex && regex::match(name_not_regex, var_name))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -3831,16 +3796,12 @@ variable_suppression::suppresses_variable(const var_decl* var,
|
||||
else
|
||||
{
|
||||
const regex_t_sptr sym_name_regex = priv_->get_symbol_name_regex();
|
||||
if (sym_name_regex
|
||||
&& (regexec(sym_name_regex.get(), var_sym_name.c_str(),
|
||||
0, NULL, 0) != 0))
|
||||
if (sym_name_regex && !regex::match(sym_name_regex, var_sym_name))
|
||||
return false;
|
||||
|
||||
const regex_t_sptr sym_name_not_regex =
|
||||
priv_->get_symbol_name_not_regex();
|
||||
if (sym_name_not_regex
|
||||
&& (regexec(sym_name_not_regex.get(), var_sym_name.c_str(),
|
||||
0, NULL, 0) == 0))
|
||||
if (sym_name_not_regex && regex::match(sym_name_not_regex, var_sym_name))
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -3857,9 +3818,7 @@ variable_suppression::suppresses_variable(const var_decl* var,
|
||||
const regex_t_sptr symbol_version_regex =
|
||||
priv_->get_symbol_version_regex();
|
||||
if (symbol_version_regex
|
||||
&& (regexec(symbol_version_regex.get(),
|
||||
var_sym_version.c_str(),
|
||||
0, NULL, 0) != 0))
|
||||
&& !regex::match(symbol_version_regex, var_sym_version))
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -3877,9 +3836,7 @@ variable_suppression::suppresses_variable(const var_decl* var,
|
||||
if (get_type_name().empty())
|
||||
{
|
||||
const regex_t_sptr type_name_regex = priv_->get_type_name_regex();
|
||||
if (type_name_regex
|
||||
&& (regexec(type_name_regex.get(), var_type_name.c_str(),
|
||||
0, NULL, 0) != 0))
|
||||
if (type_name_regex && !regex::match(type_name_regex, var_type_name))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -3970,9 +3927,7 @@ variable_suppression::suppresses_variable_symbol(const elf_symbol* sym,
|
||||
else if (!get_symbol_name_regex_str().empty())
|
||||
{
|
||||
const regex_t_sptr sym_name_regex = priv_->get_symbol_name_regex();
|
||||
if (sym_name_regex
|
||||
&& (regexec(sym_name_regex.get(), sym_name.c_str(),
|
||||
0, NULL, 0) != 0))
|
||||
if (sym_name_regex && !regex::match(sym_name_regex, sym_name))
|
||||
return false;
|
||||
}
|
||||
else
|
||||
@ -3989,9 +3944,7 @@ variable_suppression::suppresses_variable_symbol(const elf_symbol* sym,
|
||||
const regex_t_sptr symbol_version_regex =
|
||||
priv_->get_symbol_version_regex();
|
||||
if (symbol_version_regex
|
||||
&& (regexec(symbol_version_regex.get(),
|
||||
sym_version.c_str(),
|
||||
0, NULL, 0) != 0))
|
||||
&& !regex::match(symbol_version_regex, sym_version))
|
||||
return false;
|
||||
}
|
||||
else
|
||||
@ -4309,14 +4262,14 @@ file_suppression::suppresses_file(const string& file_path)
|
||||
if (regex_t_sptr regexp = suppression_base::priv_->get_file_name_regex())
|
||||
{
|
||||
has_regexp = true;
|
||||
if (regexec(regexp.get(), fname.c_str(), 0, NULL, 0) != 0)
|
||||
if (!regex::match(regexp, fname))
|
||||
return false;
|
||||
}
|
||||
|
||||
if (regex_t_sptr regexp = suppression_base::priv_->get_file_name_not_regex())
|
||||
{
|
||||
has_regexp = true;
|
||||
if (regexec(regexp.get(), fname.c_str(), 0, NULL, 0) == 0)
|
||||
if (regex::match(regexp, fname))
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user