private static int checkInkNamesString(Tiff tif, int slen, string s)
{
bool failed = false;
short i = tif.m_dir.td_samplesperpixel;
if (slen > 0)
{
int endPos = slen;
int pos = 0;
for (; i > 0; i--)
{
for (; s[pos] != '\0'; pos++)
{
if (pos >= endPos)
{
failed = true;
break;
}
}
if (failed)
break;
pos++; // skip \0
}
if (!failed)
return pos;
}
Tiff.ErrorExt(tif, tif.m_clientdata, "TIFFSetField",
"{0}: Invalid InkNames value; expecting {1} names, found {2}",
tif.m_name, tif.m_dir.td_samplesperpixel, tif.m_dir.td_samplesperpixel - i);
return 0;
}