Rev 4409: Turn Decoder.decode_object into _decode_object. in lp:///~jameinel/bzr/bencode_serializer
John Arbash Meinel
john at arbash-meinel.com
Thu Jun 4 17:03:31 BST 2009
At lp:///~jameinel/bzr/bencode_serializer
------------------------------------------------------------
revno: 4409
revision-id: john at arbash-meinel.com-20090604160313-mo66r0hhgkg6vzil
parent: john at arbash-meinel.com-20090604155421-wdxp4le2q49jvg2q
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: bencode_serializer
timestamp: Thu 2009-06-04 11:03:13 -0500
message:
Turn Decoder.decode_object into _decode_object.
def foo() functions have to be accessed via getattr() because they
can be overridden by python code. While
cdef _foo() functions can be accessed directly via the struct member.
-------------- next part --------------
=== modified file 'bzrlib/_bencode_pyx.pyx'
--- a/bzrlib/_bencode_pyx.pyx 2009-06-04 15:54:21 +0000
+++ b/bzrlib/_bencode_pyx.pyx 2009-06-04 16:03:13 +0000
@@ -80,18 +80,21 @@
self._yield_tuples = int(yield_tuples)
def decode(self):
- result = self.decode_object()
+ result = self._decode_object()
if self.size != 0:
raise ValueError('junk in stream')
return result
def decode_object(self):
+ return self._decode_object()
+
+ cdef object _decode_object(self):
cdef char ch
if 0 == self.size:
raise ValueError('stream underflow')
- if Py_EnterRecursiveCall("decode_object"):
+ if Py_EnterRecursiveCall("_decode_object"):
raise RuntimeError("too deeply nested")
try:
ch = self.tail[0]
@@ -172,7 +175,7 @@
else:
return result
else:
- result.append(self.decode_object())
+ result.append(self._decode_object())
raise ValueError('malformed list')
@@ -194,7 +197,7 @@
raise ValueError('dict keys disordered')
else:
lastkey = key
- value = self.decode_object()
+ value = self._decode_object()
result[key] = value
raise ValueError('malformed dict')
More information about the bazaar-commits
mailing list