[ create a new paste ] login | about

Link: http://codepad.org/p8Z8a5gj    [ raw code | fork ]

C++, pasted on Jun 9:
		case 0x400:
		{
			int zippedsize;
			in.read((char*)&zippedsize, sizeof(zippedsize));

			for(int y = 0; y < header.height; ++y)
			{
				unsigned short total = 0;
				unsigned short interleave;
				unsigned short readcount;

				do
				{
					in.read((char*)&interleave, sizeof(interleave));
					out.insert(out.end(), interleave, 0);

					in.read((char*)&readcount, sizeof(readcount));

					for(int counter = 0; counter < readcount; counter++)
						out.push_back(in.get());

					total += interleave + readcount;
				}while(readcount);

				if(total != header.width)
					throw std::exception("failed: startinterleave + readcount + endinterleave != header.width");
			}
		}break;


Create a new paste based on this one


Comments: