private void ReadContents()
{
// read GIF file content blocks
bool done = false;
while (!(done || Error()))
{
int code = Read();
switch (code)
{
case 0x2C : // image separator
ReadImage();
break;
case 0x21 : // extension
code = Read();
switch (code)
{
case 0xf9 : // graphics control extension
ReadGraphicControlExt();
break;
case 0xff : // application extension
ReadBlock();
String app = "";
for (int i = 0; i < 11; i++)
{
app += (char) block[i];
}
if (app.Equals("NETSCAPE2.0"))
{
ReadNetscapeExt();
}
else
Skip(); // don't care
break;
default : // uninteresting extension
Skip();
break;
}
break;
case 0x3b : // terminator
done = true;
break;
case 0x00 : // bad byte, but keep going and see what happens
break;
default :
status = StatusFormatError;
break;
}
}
}