clang-format-diff.py: fix -regex/-iregex matching
While debating the finer points of file extension matching, we somehow missed the bigger problem that the current code will match anything starting with the default or user-specified pattern (e.g. lit.site.cfg.in). Fix this by doing what find(1) does, implicitly wrapping the pattern with ^$. llvm-svn: 197608
This commit is contained in:
@@ -43,7 +43,7 @@ def main():
|
||||
help='apply edits to files instead of displaying a diff')
|
||||
parser.add_argument('-p', metavar='NUM', default=0,
|
||||
help='strip the smallest prefix containing P slashes')
|
||||
parser.add_argument('-regex', metavar='PATTERN', default='',
|
||||
parser.add_argument('-regex', metavar='PATTERN', default=None,
|
||||
help='custom pattern selecting file paths to reformat '
|
||||
'(case sensitive, override -iregex)')
|
||||
parser.add_argument('-iregex', metavar='PATTERN', default=
|
||||
@@ -66,11 +66,11 @@ def main():
|
||||
if filename == None:
|
||||
continue
|
||||
|
||||
if args.regex != '':
|
||||
if not re.match(args.regex, filename):
|
||||
if args.regex is not None:
|
||||
if not re.match('^%s$' % args.regex, filename):
|
||||
continue
|
||||
else:
|
||||
if not re.match(args.iregex, filename, re.IGNORECASE):
|
||||
if not re.match('^%s$' % args.iregex, filename, re.IGNORECASE):
|
||||
continue
|
||||
|
||||
match = re.search('^@@.*\+(\d+)(,(\d+))?', line)
|
||||
|
||||
Reference in New Issue
Block a user