private bool writeByteArray(ref TiffDirEntry dir, byte[] cp)
{
if (dir.tdir_count <= 4)
{
if (m_header.tiff_magic == TIFF_BIGENDIAN)
{
dir.tdir_offset = (uint)(cp[0] << 24);
if (dir.tdir_count >= 2)
dir.tdir_offset |= (uint)(cp[1] << 16);
if (dir.tdir_count >= 3)
dir.tdir_offset |= (uint)(cp[2] << 8);
if (dir.tdir_count == 4)
dir.tdir_offset |= cp[3];
}
else
{
dir.tdir_offset = cp[0];
if (dir.tdir_count >= 2)
dir.tdir_offset |= (uint)(cp[1] << 8);
if (dir.tdir_count >= 3)
dir.tdir_offset |= (uint)(cp[2] << 16);
if (dir.tdir_count == 4)
dir.tdir_offset |= (uint)(cp[3] << 24);
}
return true;
}
return writeData(ref dir, cp, dir.tdir_count);
}