private string GetSymbolNameOffSetAndLength(long index, out int offset, out int length)
{
offset = 0;
length = 0;
string retval = "No symbol";
foreach (SymbolHelper sh in m_symbolcollection)
{
int address = (int)sh.Flash_start_address;
if (m_issramviewer)
{
address = (int)sh.Start_address;
}
int internal_length = sh.Length;
if (address > 0)
{
while (address > m_currentfile_size) address -= m_currentfile_size;
if (index >= address && index < (address + internal_length) && !sh.Varname.StartsWith("Pressure map"))
{
retval = sh.Varname;
if (m_issramviewer)
{
offset = (int)sh.Start_address;
}
else
{
offset = (int)sh.Flash_start_address;
while (offset > m_currentfile_size) offset -= m_currentfile_size;
}
length = sh.Length;
break;
}
}
}
return retval;
}