Subversion Repositories Kolibri OS

Rev

Rev 7831 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7831 Rev 7881
Line 171... Line 171...
171
:byte Dictionary::init(dword size)
171
:byte Dictionary::init(dword size)
172
{
172
{
173
	RETURN array.init(size);
173
	RETURN array.init(size);
174
}
174
}
Line 175... Line 175...
175
 
175
 
176
dword indexArray(dword address, key)
176
:dword indexArray(dword address, key)
177
{
177
{
178
	dword offset = key&11b;
178
	dword offset = key&0x1FF;
179
	dword offsetAddress = offset*4+address;
179
	dword offsetAddress = offset*4+address;
180
	IF (key==offset) RETURN 4*4+offsetAddress;
180
	IF (key==offset) RETURN 4*0x200+offsetAddress;
181
	IF (!DSDWORD[offsetAddress]) DSDWORD[offsetAddress] = malloc(4*4*2);
181
	IF (!DSDWORD[offsetAddress]) DSDWORD[offsetAddress] = malloc(0x1000);
182
	RETURN indexArray(DSDWORD[offsetAddress], key>>2);
182
	RETURN indexArray(DSDWORD[offsetAddress], key>>9);
Line 183... Line 183...
183
}
183
}