When you are through writing data to a chunk, you complete the write by calling PopChunk(): error = PopChunk (iff); If you wrote fewer bytes than you declared with PushChunk(), PopChunk() will return an error. If you specified IFFSIZE_UNKNOWN, PopChunk() will seek backward on the stream and write the final size. If you specified a chunk size that was odd, PopChunk() will write the pad byte automatically. PushChunk() and PopChunk() nest; every call to PushChunk() must have a corresponding call to PopChunk().