"ô > BLib.MAlloc 1.03 23Jul2006 +ô v1.03 23Jul2006 JGH: m_zalloc() added ,ô v1.02 15Sep1989 JGH: m_realloc() added (@ô v1.01 08Sep1989 JGH: Bug in reuse of released memory fixed 29ô v1.00 06Sep1989 JGH: m_alloc() and m_free() written <: F ô Memory Allocation Routines P ô ~~~~~~~~~~~~~~~~~~~~~~~~~~ Z: d: n'ݤm_alloc(size%):êA%,B%:çsize%<1:=0 x/m_heap%=m_heap%:A%=m_heap%:çsize%<4:size%=4 ‚4çA%:ç!A%=size% „ A%=0 Œ&çA%=0:Þ A% size%+3:!A%=size%:=A%+4 –=ç!A%>size%+7:!A%=!A%-size%-8:A%!(!A%+4)=size%+4:=A%+!A%+8   çB%:B%!4=A%!4 ‹ m_heap%=A%!4 ª =A%+4 ´: ¾Ýòm_free(ptr%):çptr%=0:á È0m_heap%=m_heap%:!ptr%=m_heap%:m_heap%=ptr%-4 ÒAç!ptr%=ptr%-4+ptr%!-4:ptr%!-4=ptr%!-4+!(!ptr%-4):!ptr%=!!ptr% Üá æ: ð:ݤm_realloc(ptr%,size%):òm_free(ptr%):=¤m_alloc(size%) ú: 5ݤm_zalloc(size%):êA%:A%=¤m_alloc(size%):çA%=0:=0 *õA%?size%=0:size%=size%-1:ýsize%<0:=A% ÿ