O(0xb7cf1008)XXXXXXXXXXXXXXXXo(0xb7cf0ff8)_________________________________o(0xb7cf0fe8)____________________O(0xb7cf0fd8)XXXXXXXXXXXXXXXXXXXXXXXXXO(0xb7cf0fc8)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXO(0xb7cf0fb8)|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||O(0xb7cf0fa8)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXO(0xb7cf0f98)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo(0xb7cf0f88)______________________________________O(0xb7cf0f78)||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||o(0xb7cf0f68)_____________________________________O(0xb7cf0f58)O(0xb7cf0f48)||||||O(0xb7cf0f38)||||||||||||||||||||||||||||||||||||||o(0xb7cf0f28)________________________________________________________________o(0xb7cf0f18)_____________________________________o(0xb7cf0ea8)___________________________________O(0xb7cf0f08)||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||o(0xb7cf0ef8)__________________o(0xb7cf0ee8)_____________________________________o(0xb7cf0ed8)______________________________________________O(0xb7cf0ec8)|||||||||O(0xb7cf0eb8)||||||||||||||||||||||||||||||||||||||||||||||||O(0xb7cf0e98)|||||||||||||||
Output that follows:
- First free block 0xb7cf0ff8, last free 0xb7cf0fe8, total free 58036
- First locked block 0xb7cf0fd8, last locked 0xb7cf0fc8
- First used block = 0xb7cf0fb8, last used block = 0xb7cf0fb8, found_used_block = 0
- Free and used blocks are not adjacent.
- no unlocked blocks
Explanation:
- 0xb7cf1008 locked block skipped
- 0xb7cf0ff8 - 0xb7cf0fe8 free
- 0xb7cf0fd8 - 0xb7cf0fc8 locked
- 0xb7cf0fb8 used too large
- stop.
Needs to look further for smaller used blocks to move (skipping over potential free blocks!), then continuing again from the first free block and re-link the blocks moved. Relinking blocks is always messy.
Inga kommentarer:
Skicka en kommentar