diff options
Diffstat (limited to 'include/binder/MemoryDealer.h')
-rw-r--r-- | include/binder/MemoryDealer.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/include/binder/MemoryDealer.h b/include/binder/MemoryDealer.h index d057556..6628f75 100644 --- a/include/binder/MemoryDealer.h +++ b/include/binder/MemoryDealer.h @@ -126,13 +126,22 @@ public: mFirst = mLast = newNode; newNode->prev = newNode->next = 0; } else { - insertBefore(mFirst, newNode); + newNode->prev = 0; + newNode->next = mFirst; + mFirst->prev = newNode; + mFirst = newNode; } } void insertTail(NODE* newNode) { - if (mLast == 0) insertBeginning(newNode); - else insertAfter(mLast, newNode); + if (mLast == 0) { + insertHead(newNode); + } else { + newNode->prev = mLast; + newNode->next = 0; + mLast->next = newNode; + mLast = newNode; + } } NODE* remove(NODE* node) { |