diff options
Diffstat (limited to 'lib/fnmatch.py')
| -rw-r--r-- | lib/fnmatch.py | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/lib/fnmatch.py b/lib/fnmatch.py index 8f9e318..c7caef6 100644 --- a/lib/fnmatch.py +++ b/lib/fnmatch.py @@ -3,33 +3,33 @@ # XXX [] patterns are not supported (but recognized) def fnmatch(name, pat): - if '*' in pat or '?' in pat or '[' in pat: - return fnmatch1(name, pat) - return name = pat + if '*' in pat or '?' in pat or '[' in pat: + return fnmatch1(name, pat) + return name = pat def fnmatch1(name, pat): - for i in range(len(pat)): - c = pat[i] - if c = '*': - restpat = pat[i+1:] - if '*' in restpat or '?' in restpat or '[' in restpat: - for i in range(i, len(name)): - if fnmatch1(name[i:], restpat): - return 1 - return 0 - else: - return name[len(name)-len(restpat):] = restpat - elif c = '?': - if len(name) <= i : return 0 - elif c = '[': - return 0 # XXX - else: - if name[i:i+1] <> c: - return 0 - return 1 + for i in range(len(pat)): + c = pat[i] + if c = '*': + restpat = pat[i+1:] + if '*' in restpat or '?' in restpat or '[' in restpat: + for i in range(i, len(name)): + if fnmatch1(name[i:], restpat): + return 1 + return 0 + else: + return name[len(name)-len(restpat):] = restpat + elif c = '?': + if len(name) <= i : return 0 + elif c = '[': + return 0 # XXX + else: + if name[i:i+1] <> c: + return 0 + return 1 def fnmatchlist(names, pat): - res = [] - for name in names: - if fnmatch(name, pat): res.append(name) - return res + res = [] + for name in names: + if fnmatch(name, pat): res.append(name) + return res |
