We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent cbed0f8 commit eaa80f1Copy full SHA for eaa80f1
bencoder.pyx
@@ -88,16 +88,19 @@ for func, keys in [
88
decode_func[ord(key)] = func
89
90
91
-def bdecode(bytes x):
+def bdecode2(bytes x):
92
try:
93
r, l = decode_func[x[0]](x, 0)
94
except (IndexError, KeyError, ValueError):
95
raise BTFailure("not a valid bencoded string")
96
+ return r, l
97
+
98
+def bdecode(bytes x):
99
+ r, l = bdecode2(x)
100
if l != len(x):
101
raise BTFailure("invalid bencoded value (data after valid prefix)")
102
return r
103
-
104
def encode(v, r):
105
tp = type(v)
106
if tp in encode_func:
0 commit comments