Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 46d9fda

Browse files
committed
Donovan Baarda <[email protected]>:
Patch to make "\" in a character group work properly. This closes SF bug #409651.
1 parent 2271082 commit 46d9fda

1 file changed

Lines changed: 5 additions & 9 deletions

File tree

Lib/fnmatch.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,13 @@ def translate(pat):
7575
if j >= n:
7676
res = res + '\\['
7777
else:
78-
stuff = pat[i:j]
78+
stuff = pat[i:j].replace('\\','\\\\')
7979
i = j+1
8080
if stuff[0] == '!':
81-
stuff = '[^' + stuff[1:] + ']'
82-
elif stuff == '^'*len(stuff):
83-
stuff = '\\^'
84-
else:
85-
while stuff[0] == '^':
86-
stuff = stuff[1:] + stuff[0]
87-
stuff = '[' + stuff + ']'
88-
res = res + stuff
81+
stuff = '^' + stuff[1:]
82+
elif stuff[0] == '^':
83+
stuff = '\\' + stuff
84+
res = '%s[%s]' % (res, stuff)
8985
else:
9086
res = res + re.escape(c)
9187
return res + "$"

0 commit comments

Comments
 (0)