Rev 2486: Clean up bisect_dirstate to not use temporary variables. in http://bzr.arbash-meinel.com/branches/bzr/0.17-dev/dirstate_pyrex
John Arbash Meinel
john at arbash-meinel.com
Fri May 4 16:43:58 BST 2007
At http://bzr.arbash-meinel.com/branches/bzr/0.17-dev/dirstate_pyrex
------------------------------------------------------------
revno: 2486
revision-id: john at arbash-meinel.com-20070504154346-fgz2nrtwtd8u9w6a
parent: john at arbash-meinel.com-20070504044714-xgbrxg27p83yis89
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: dirstate_pyrex
timestamp: Fri 2007-05-04 10:43:46 -0500
message:
Clean up bisect_dirstate to not use temporary variables.
modified:
bzrlib/compiled/dirstate_helpers.pyx dirstate_helpers.pyx-20070503201057-u425eni465q4idwn-3
-------------- next part --------------
=== modified file 'bzrlib/compiled/dirstate_helpers.pyx'
--- a/bzrlib/compiled/dirstate_helpers.pyx 2007-05-04 04:47:14 +0000
+++ b/bzrlib/compiled/dirstate_helpers.pyx 2007-05-04 15:43:46 +0000
@@ -26,8 +26,9 @@
# GetItem returns a borrowed reference
void *PyDict_GetItem(object p, object key)
int PyDict_SetItem(object p, object key, object val) except -1
- void *PyList_GetItem_void "PyList_GET_ITEM" (object lst, int index)
- object PyTuple_GetItem_object "PyTuple_GET_ITEM" (void* tpl, int index)
+ void *PyList_GetItem_object_void "PyList_GET_ITEM" (object lst, int index)
+ void *PyTuple_GetItem_void_void "PyTuple_GET_ITEM" (void* tpl, int index)
+ object PyUnicode_Split_void_object "PyUnicode_Split" (void* str, )
int PyList_CheckExact(object)
int PyTuple_CheckExact(object)
@@ -72,8 +73,7 @@
cdef int _mid
cdef object dirname_split
cdef object cur_split
- cdef void *block
- cdef object cur
+ cdef void *cur
if hi is None:
_hi = len(dirblocks)
@@ -87,14 +87,10 @@
while _lo < _hi:
_mid = (_lo+_hi)/2
# Grab the dirname for the current dirblock
- # block = dirblocks[_mid]
- block = PyList_GetItem_void(dirblocks, _mid)
- if not PyTuple_CheckExact(<object>block):
- raise TypeError('We expect to have a list of tuples')
- # cur = block[0]
- cur = PyTuple_GetItem_object(block, 0)
- Py_INCREF(cur)
- cur_split = cur.split('/')
+ # cur = dirblocks[_mid][0]
+ cur = PyTuple_GetItem_void_void(
+ PyList_GetItem_object_void(dirblocks, _mid), 0)
+ cur_split = (<object>cur).split('/')
if cur_split < dirname_split: _lo = _mid+1
else: _hi = _mid
return _lo
More information about the bazaar-commits
mailing list