Repository URL to install this package:
|
Version:
9.0~240925-3.fc42 ▾
|
idapro-debugsource
/
usr
/
src
/
debug
/
idapro-9.0~240925-3.fc42.x86_64
/
ldr
/
intelomf
/
common.cpp
|
|---|
//-----------------------------------------------------------------------
bool is_intelomf_file(linput_t *li)
{
uchar magic;
lmh h;
qlseek(li, 0);
if ( qlread(li, &magic, sizeof(magic)) != sizeof(magic)
|| qlread(li, &h, sizeof(h)) != sizeof(h) )
{
return false;
}
int64 fsize = qlsize(li);
return magic == INTELOMF_MAGIC_BYTE
&& h.tot_length < fsize;
}
//-----------------------------------------------------------------------
static int read_pstring(linput_t *li, char *name, int size)
{
char buf[256];
uchar nlen;
lread(li, &nlen, sizeof(nlen));
lread(li, buf, nlen);
buf[nlen] = '\0';
qstrncpy(name, buf, size);
return nlen;
}
//-----------------------------------------------------------------------
static uint32 readdw(const uchar *&ptr, bool wide)
{
uint32 x;
if ( wide )
{
x = *(uint32 *)ptr;
ptr += sizeof(uint32);
}
else
{
x = *(uint16 *)ptr;
ptr += sizeof(uint16);
}
return x;
}