mirror of
git://projects.qi-hardware.com/eda-tools.git
synced 2025-04-21 12:27:27 +03:00
b2/: use glob syntax instead of RE syntax for substitutions
This commit is contained in:
22
b2/subst.c
22
b2/subst.c
@@ -44,6 +44,28 @@ static char *prepare_re(const char *re)
|
||||
int res_len = 0;
|
||||
|
||||
append_char(&res, &res_len, '^');
|
||||
while (*re) {
|
||||
switch (*re) {
|
||||
case '.':
|
||||
append_n(&res, &res_len, "\\.", 2);
|
||||
break;
|
||||
case '*':
|
||||
append_n(&res, &res_len, ".*", 2);
|
||||
break;
|
||||
case '?':
|
||||
append_char(&res, &res_len, '.');
|
||||
break;
|
||||
case '\\':
|
||||
if (!re[1])
|
||||
yyerrorf("regexp ends with backslash");
|
||||
append_n(&res, &res_len, re, 2);
|
||||
re++;
|
||||
break;
|
||||
default:
|
||||
append_char(&res, &res_len, *re);
|
||||
}
|
||||
re++;
|
||||
}
|
||||
append(&res, &res_len, re);
|
||||
append_char(&res, &res_len, '$');
|
||||
return res;
|
||||
|
||||
Reference in New Issue
Block a user