Beispiel #1
0
dxf  :: dxf (string filename)
{	
	dxf_filename = filename;
	writeFile.open(dxf_filename.c_str());
	read_Header();

}
Beispiel #2
0
ReadResult read_GIF_Data_Stream(void *in_pStreamState, 
	ByteStreamInterface in_byteStreamReadInterface, 
	GIF_Data_Stream *in_pDataStream, void (*in_pfErrorHandler)(void *))
{
	bool is89a;

	SetjmpStreamState setjmpReadStreamState;
	jmp_buf jmpBuf;
	ByteStreamInterface setjmpReadStreamInterface;
	int result;
	uint8_t lIntroducer;

	setjmpStreamInit(&setjmpReadStreamState, &jmpBuf, ReadResultPrematureEndOfStream, 
		in_pStreamState, in_byteStreamReadInterface);
	setjmpReadStreamInterface = getSetjmpStreamByteStreamInterface(&setjmpReadStreamState);
	
	in_pDataStream->logicalScreen.globalColorTable = NULL;

	if ((result = setjmp(jmpBuf)) != 0)
	{
		if (in_pDataStream->logicalScreen.globalColorTable)
		{
			safe_free(&in_pDataStream->logicalScreen.globalColorTable);
		}

		return (ReadResult) result;
	}

	read_Header(&setjmpReadStreamState, setjmpReadStreamInterface, 
		&is89a, in_pfErrorHandler);

	read_Logical_Screen(&setjmpReadStreamState, setjmpReadStreamInterface, 
		&in_pDataStream->logicalScreen, is89a, in_pfErrorHandler);

	(*setjmpReadStreamInterface.mpfRead)(&setjmpReadStreamState, &lIntroducer, sizeof(lIntroducer));

	while (GIF_TRAILER != lIntroducer)
	{
		read_Data(&setjmpReadStreamState, setjmpReadStreamInterface, 
			lIntroducer, is89a, &in_pDataStream->logicalScreen, in_pfErrorHandler);
		(*setjmpReadStreamInterface.mpfRead)(&setjmpReadStreamState, &lIntroducer, sizeof(lIntroducer));
	}

	if (in_pDataStream->logicalScreen.globalColorTable)
	{
		safe_free(&in_pDataStream->logicalScreen.globalColorTable);
	}

	return ReadResultOK;
}