diff --git a/lslopt/lslbasefuncs.py b/lslopt/lslbasefuncs.py index f419e1e..5bcb1bf 100644 --- a/lslopt/lslbasefuncs.py +++ b/lslopt/lslbasefuncs.py @@ -1757,6 +1757,7 @@ def llUnescapeURL(s): c = s[i] # Second digit if c == u'%': ret += chr(v) + i += 1 continue i += 1 if u'0' <= c <= u'9' or u'A' <= c <= u'F' or u'a' <= c <= u'f': diff --git a/testfuncs.py b/testfuncs.py index aca0aad..8d9ce70 100644 --- a/testfuncs.py +++ b/testfuncs.py @@ -1302,7 +1302,7 @@ def do_tests(): test('llUnescapeURL(u"%")', u'') test('llUnescapeURL(u"%%")', u'') - test('llUnescapeURL(u"%4%252Fabc")', u'\x40\x252Fabc') + test('llUnescapeURL(u"%4%252Fabc")', u'\x40252Fabc') test('llUnescapeURL(u"%%4%252Fabc")', u'\x04\x252Fabc') test('llEscapeURL(llUnescapeURL(u"%.44%25%%2Fa\u2190c"))', u'%044%25%02Fa%E2%86%90c') test('llEscapeURL(llUnescapeURL(u"%.44%25%%2Fa\u2190c%"))', u'%044%25%02Fa%E2%86%90c')