+ l = htonl(crc(ihdr, sizeof(ihdr)));
+ memcpy(outpos, &l, sizeof(l));
+ outpos += sizeof(l);
+
+ /* IDAT */
+ l = htonl(deflated_size);
+ memcpy(outpos, &l, sizeof(l));
+ outpos += sizeof(l);
+ memcpy(outpos, idat, sizeof(idat));
+ outpos += sizeof(idat);
+ memcpy(outpos, screen_deflated, deflated_size);
+ free(screen_deflated);
+ outpos +=deflated_size;
+ l = htonl(crc(outpos-deflated_size-sizeof(idat), deflated_size+sizeof(idat)));