diff --git a/ZCppMain/ZtCObjList.H b/ZCppMain/ZtCObjList.H index c3ffe99..08d1948 100644 --- a/ZCppMain/ZtCObjList.H +++ b/ZCppMain/ZtCObjList.H @@ -3894,6 +3894,8 @@ namespace ZNsMain void DeleteHead() { + // '내부 사용 리스트'의 앞 링크 하나를 '내부 삭제 리스트'로 옮긴다. + if(ml_NowUnitCnt<1) return; if(--ml_NowUnitCnt<1) @@ -3906,11 +3908,11 @@ namespace ZNsMain } else { - ZCLinkUnit* VP_HeadLink=mp_NowHeadUnit; - ZCLinkUnit* VP_TailLink=mp_NowHeadUnit->mp_PrevUnit; + ZCLinkUnit* VP_HeadLink = mp_NowHeadUnit ; + ZCLinkUnit* VP_TailLink = mp_NowHeadUnit->mp_PrevUnit; mp_NowHeadUnit = mp_NowHeadUnit->mp_NextUnit; - ml_NowObjtCnt -= VP_HeadLink->size(); + ml_NowObjtCnt -= VP_HeadLink->size() ; ZCLinkUnit::MakeRing(mp_NowHeadUnit , VP_TailLink); ZCLinkUnit::JoinLink(mp_CutHeadUnit->mp_PrevUnit, VP_HeadLink); @@ -3966,14 +3968,16 @@ namespace ZNsMain else { ZCLinkUnit* VP_RhsTailUnit=rhs.mp_NowHeadUnit->mp_PrevUnit; + ZCLinkUnit* VP_LhsTailUnit= mp_NowHeadUnit->mp_PrevUnit; - ZCLinkUnit::JoinLink(mp_NowHeadUnit->mp_PrevUnit, rhs.mp_NowHeadUnit); - ZCLinkUnit::MakeRing(mp_NowHeadUnit, VP_RhsTailUnit ); + ZCLinkUnit::JoinLink( VP_LhsTailUnit, rhs.mp_NowHeadUnit ); + ZCLinkUnit::MakeRing( mp_NowHeadUnit, VP_RhsTailUnit ); }/* else*/ - ml_NowUnitCnt+=rhs.ml_NowUnitCnt; rhs.ml_NowUnitCnt=0; - ml_NowObjtCnt+=rhs.ml_NowObjtCnt; rhs.ml_NowObjtCnt=0; rhs.mp_NowHeadUnit=0; + ml_NowUnitCnt+=rhs.ml_NowUnitCnt; rhs.ml_NowUnitCnt =0; + ml_NowObjtCnt+=rhs.ml_NowObjtCnt; rhs.ml_NowObjtCnt =0; + rhs.mp_NowHeadUnit=0; }/* void JoinAtTail(ZtCObjUnitList& rhs)*/ @@ -4028,7 +4032,10 @@ namespace ZNsMain if(ml_NowUnitCnt<1) { - ZCLinkUnit::MakeRing(VP_RhsNowHead, VP_RhsNowTail); mp_NowHeadUnit=VP_RhsNowHead; + ZCLinkUnit::MakeRing + (VP_RhsNowHead, VP_RhsNowTail); + + mp_NowHeadUnit=VP_RhsNowHead; } else { @@ -4072,7 +4079,7 @@ namespace ZNsMain { ZCLinkUnit::MakeRing(VP_RhsNowHead, VP_RhsNowTail); - mp_NowHeadUnit=VP_RhsNowHead; ///////////////////// + mp_NowHeadUnit = VP_RhsNowHead; /////////////////// } else {