We don't need shell protection for when we're expanding matches.

Don't add it. This should fix when we do regepx matches against
variables we've set and fix wifi bring up.

PR: 231441
Approved by: re@ (kib)
Differential Revision: https://reviews.freebsd.org/D17267
This commit is contained in:
Warner Losh 2018-09-22 15:32:53 +00:00
parent b8fdf58807
commit 6577e8c44b
2 changed files with 4 additions and 4 deletions

View File

@ -666,7 +666,7 @@ config::shell_quote(const string &s)
}
void
config::expand_one(const char *&src, string &dst)
config::expand_one(const char *&src, string &dst, bool is_shell)
{
int count;
string buffer;
@ -705,7 +705,7 @@ config::expand_one(const char *&src, string &dst)
do {
buffer += *src++;
} while (is_id_char(*src));
dst.append(shell_quote(get_variable(buffer)));
dst.append(is_shell ? shell_quote(get_variable(buffer)) : get_variable(buffer));
}
const string
@ -731,7 +731,7 @@ config::expand_string(const char *src, const char *prepend, const char *append)
}
dst.append(src, var_at - src);
src = var_at;
expand_one(src, dst);
expand_one(src, dst, prepend == NULL);
}
if (append != NULL)

View File

@ -172,7 +172,7 @@ protected:
void sort_vector(std::vector<event_proc *> &);
void parse_one_file(const char *fn);
void parse_files_in_dir(const char *dirname);
void expand_one(const char *&src, std::string &dst);
void expand_one(const char *&src, std::string &dst, bool is_shell);
std::string shell_quote(const std::string &s);
bool is_id_char(char) const;
bool chop_var(char *&buffer, char *&lhs, char *&rhs) const;