Intel Extensible Firmware Interface User Manual

Page 975

Advertising
background image

Compression Source Code

Version 1.10

12/01/02

H-11

Returns: (VOID)

--*/
{
NODE h, t;

h = (NODE)HASH(q, c);
t = mNext[h];
mNext[h] = r;
mNext[r] = t;
mPrev[t] = r;
mPrev[r] = h;
mParent[r] = q;
mChildCount[q]++;
}

STATIC
VOID
Split (
NODE Old
)
/*++

Routine Description:

Split a node.

Arguments:

Old - the node to split

Returns: (VOID)

--*/
{
NODE New, t;

New = mAvail;
mAvail = mNext[New];
mChildCount[New] = 0;
t = mPrev[Old];
mPrev[New] = t;
mNext[t] = New;
t = mNext[Old];
mNext[New] = t;
mPrev[t] = New;
mParent[New] = mParent[Old];
mLevel[New] = (UINT8)mMatchLen;
mPosition[New] = mPos;
MakeChild(New, mText[mMatchPos + mMatchLen], Old);
MakeChild(New, mText[mPos + mMatchLen], mPos);
}

STATIC
VOID
InsertNode ()
/*++

Advertising