diff --git a/ZCppMain/ZtCSimList.H b/ZCppMain/ZtCSimList.H index 3af1788..1fae694 100644 --- a/ZCppMain/ZtCSimList.H +++ b/ZCppMain/ZtCSimList.H @@ -822,7 +822,7 @@ namespace ZNsMain { // 두 개의 링크를 연결 상태로 만든다. - AP_PrevLink->mp_NextLink=AP_NextLink; + AP_PrevLink->mp_NextLink = AP_NextLink; }/* inline static void JoinLink(ZCLink* AP_PrevLink, ZCLink* AP_NextLink)*/ @@ -832,7 +832,7 @@ namespace ZNsMain // 이것은 ZtCSimList class template 과 멤버 함수를 맞추기 위한 것으로 // 실제적으로는 별 쓸모는 없는 것 같다. - AP_TailLink->mp_NextLink=AP_HeadLink; + AP_TailLink->mp_NextLink = AP_HeadLink; }/* inline static void MakeCircle(ZCLink* AP_HeadLink, ZCLink* AP_TailLink)*/ @@ -1055,17 +1055,29 @@ namespace ZNsMain } else { - mp_HeadLink=mp_HeadLink->mp_NextLink; + mp_HeadLink= mp_HeadLink->mp_NextLink; + + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif } //else } else if(AP_CutLink==mp_TailLink) { - AP_PrevLink->mp_NextLink=0; + #if(_CODE_NEW_) + mp_Tailink= AP_PrevLink; + #else + AP_PrevLink->mp_NextLink= 0; + #endif + + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif } else { - AP_PrevLink->mp_NextLink=AP_CutLink->mp_NextLink; + AP_PrevLink->mp_NextLink= AP_CutLink->mp_NextLink; } //else @@ -1086,12 +1098,24 @@ namespace ZNsMain else { mp_HeadLink=mp_HeadLink->mp_NextLink; + + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif } //else } else if(AP_CutLink==mp_TailLink) { + #if(_CODE_NEW_) + mp_Tailink= AP_PrevLink; + #else AP_PrevLink->mp_NextLink=0; + #endif + + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif } else { @@ -1129,12 +1153,22 @@ namespace ZNsMain else { mp_HeadLink=AP_CutTail->mp_NextLink; + + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif } } else if(AP_CutTail==mp_TailLink) // 잘라내려는 링크가 끝 링크를 포함할 때. { mp_TailLink= AP_CutHeadPrev ; + #if(_CODE_OLD_) mp_TailLink->mp_NextLink= 0 ; + #endif + + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif } else // 잘라내려는 링크가 처음과 끝 링크를 포함하지 않을 때. { @@ -1180,13 +1214,13 @@ namespace ZNsMain ZtCSimList& MakeDefault(TTypSize AL_DefaultSize, ZtCSimList& ARR_StoreList) const { - // must AL_DefaultSize > 0 + if(AL_DefaultSize<=0) return ARR_StoreList; ZCLink* VP_HeadLink=0; ZCLink* VP_TailLink=0; GetCFreeHeap().SendFreeOut - (AL_DefaultSize, VP_HeadLink, VP_TailLink); + (AL_DefaultSize, RR(VP_HeadLink), RR(VP_TailLink)); ZCLink::MakeCircle( VP_HeadLink, VP_TailLink ); ARR_StoreList.mp_HeadLink= VP_HeadLink ; @@ -1340,6 +1374,10 @@ namespace ZNsMain mp_HeadLink = VP_AddLink ; }/* else*/ + + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif }/* void AddHead(TypeArg AR_Type)*/ @@ -1358,7 +1396,9 @@ namespace ZNsMain mp_HeadLink = VP_AddLink ; } - //else + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif }/* ZCLink* AddHeadDefault()*/ @@ -1388,6 +1428,10 @@ namespace ZNsMain mp_TailLink = VP_AddLink; }/* else*/ + + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif }/* void AddTail(TypeArg AR_Type)*/ @@ -1405,8 +1449,10 @@ namespace ZNsMain ZCLink::JoinLink(mp_TailLink, VP_AddLink); mp_TailLink = VP_AddLink ; - }/* - else*/ + } + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif }/* ZCLink* AddTailDefault()*/ @@ -1627,20 +1673,18 @@ namespace ZNsMain if(mp_HeadLink==0) { - mp_HeadLink = - mp_TailLink = AP_Link ; - ml_Size = 1 ; - - AP_Link->mp_NextLink=0; - - return; - }/* - if(mp_HeadLink==0)*/ - - AP_Link->mp_NextLink= mp_HeadLink ; - mp_HeadLink = AP_Link ; + mp_HeadLink = mp_TailLink = AP_Link ; + } + else + { + AP_Link->mp_NextLink= mp_HeadLink ; + mp_HeadLink = AP_Link ; + } ++ml_Size; + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif }/* void JoinHead(ZCLink* AP_Link)*/ @@ -1668,7 +1712,9 @@ namespace ZNsMain #endif //_DEBUG + #if(_CODE_OLD_) AP_Link->mp_NextLink=0; + #endif if(mp_HeadLink==0) { @@ -1683,6 +1729,10 @@ namespace ZNsMain else*/ ++ml_Size; + + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif }/* void JoinTail(ZCLink* AP_Link)*/ @@ -1704,6 +1754,10 @@ namespace ZNsMain mp_HeadLink= rhs.mp_HeadLink ; ml_Size += rhs.ml_Size ; + + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif }/* else*/ @@ -1731,6 +1785,10 @@ namespace ZNsMain mp_TailLink =rhs.mp_TailLink; ml_Size += rhs.ml_Size; + + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif }/* else*/ @@ -1752,10 +1810,13 @@ namespace ZNsMain if(--ml_Size==0) { - mp_HeadLink = - mp_TailLink = 0 ; + mp_HeadLink = mp_TailLink = 0 ; return; }/* if(--ml_Size==0)*/ + + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif }/* void DeleteHead()*/ @@ -1801,6 +1862,10 @@ namespace ZNsMain mp_TailLink->mp_NextLink=0 ; GetCFreeHeap().RecvFreeIn(VP_CutLink); + + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif }/* void DeleteTail()*/ @@ -1829,8 +1894,14 @@ namespace ZNsMain (AL_DelSize, VP_NewTail->mp_NextLink, mp_TailLink); mp_TailLink = VP_NewTail ; - mp_TailLink-> mp_NextLink=0 ; ml_Size -= AL_DelSize ; + #if(_CODE_OLD_) + mp_TailLink-> mp_NextLink=0 ; + #endif + + #if(202509181922) + ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); + #endif }/* void DeleteTail(TTypSize AL_DelSize)*/