+static void
+put_local_header (struct zip_writer *zw, const char *member_name, uint32_t crc,
+ uint32_t size, int flag)
+{
+ put_u32 (zw, MAGIC_LHDR); /* local file header signature */
+ put_u16 (zw, 10); /* version needed to extract */
+ put_u16 (zw, flag); /* general purpose bit flag */
+ put_u16 (zw, 0); /* compression method */
+ put_u16 (zw, zw->time); /* last mod file time */
+ put_u16 (zw, zw->date); /* last mod file date */
+ put_u32 (zw, crc); /* crc-32 */
+ put_u32 (zw, size); /* compressed size */
+ put_u32 (zw, size); /* uncompressed size */
+ put_u16 (zw, strlen (member_name)); /* file name length */
+ put_u16 (zw, 0); /* extra field length */
+ put_bytes (zw, member_name, strlen (member_name));
+}
+