Lines Matching refs:de

257 _zip_dirent_init(struct zip_dirent *de)  in _zip_dirent_init()  argument
259 de->changed = 0; in _zip_dirent_init()
260 de->local_extra_fields_read = 0; in _zip_dirent_init()
261 de->cloned = 0; in _zip_dirent_init()
263 de->version_madeby = 20 | (ZIP_OPSYS_DEFAULT << 8); in _zip_dirent_init()
264 de->version_needed = 20; /* 2.0 */ in _zip_dirent_init()
265 de->bitflags = 0; in _zip_dirent_init()
266 de->comp_method = ZIP_CM_DEFAULT; in _zip_dirent_init()
267 de->last_mod = 0; in _zip_dirent_init()
268 de->crc = 0; in _zip_dirent_init()
269 de->comp_size = 0; in _zip_dirent_init()
270 de->uncomp_size = 0; in _zip_dirent_init()
271 de->filename = NULL; in _zip_dirent_init()
272 de->extra_fields = NULL; in _zip_dirent_init()
273 de->comment = NULL; in _zip_dirent_init()
274 de->disk_number = 0; in _zip_dirent_init()
275 de->int_attrib = 0; in _zip_dirent_init()
276 de->ext_attrib = ZIP_EXT_ATTRIB_DEFAULT; in _zip_dirent_init()
277 de->offset = 0; in _zip_dirent_init()
283 _zip_dirent_needs_zip64(const struct zip_dirent *de, zip_flags_t flags) in _zip_dirent_needs_zip64() argument
285 if (de->uncomp_size >= ZIP_UINT32_MAX || de->comp_size >= ZIP_UINT32_MAX in _zip_dirent_needs_zip64()
286 || ((flags & ZIP_FL_CENTRAL) && de->offset >= ZIP_UINT32_MAX)) in _zip_dirent_needs_zip64()
297 struct zip_dirent *de; in _zip_dirent_new() local
299 if ((de=(struct zip_dirent *)malloc(sizeof(*de))) == NULL) in _zip_dirent_new()
302 _zip_dirent_init(de); in _zip_dirent_new()
303 return de; in _zip_dirent_new()
513 _zip_dirent_process_ef_utf_8(const struct zip_dirent *de, zip_uint16_t id, struct zip_string *str) in _zip_dirent_process_ef_utf_8() argument
518 const zip_uint8_t *ef = _zip_ef_get_by_id(de->extra_fields, &ef_len, id, 0, ZIP_EF_BOTH, NULL); in _zip_dirent_process_ef_utf_8()
576 _zip_dirent_torrent_normalize(struct zip_dirent *de) in _zip_dirent_torrent_normalize() argument
607 de->version_madeby = 0; in _zip_dirent_torrent_normalize()
608 de->version_needed = 20; /* 2.0 */ in _zip_dirent_torrent_normalize()
609 de->bitflags = 2; /* maximum compression */ in _zip_dirent_torrent_normalize()
610 de->comp_method = ZIP_CM_DEFLATE; in _zip_dirent_torrent_normalize()
611 de->last_mod = last_mod; in _zip_dirent_torrent_normalize()
613 de->disk_number = 0; in _zip_dirent_torrent_normalize()
614 de->int_attrib = 0; in _zip_dirent_torrent_normalize()
615 de->ext_attrib = 0; in _zip_dirent_torrent_normalize()
617 _zip_ef_free(de->extra_fields); in _zip_dirent_torrent_normalize()
618 de->extra_fields = NULL; in _zip_dirent_torrent_normalize()
619 _zip_string_free(de->comment); in _zip_dirent_torrent_normalize()
620 de->comment = NULL; in _zip_dirent_torrent_normalize()
636 _zip_dirent_write(struct zip_dirent *de, FILE *fp, zip_flags_t flags, struct zip_error *error) in _zip_dirent_write() argument
651 name_enc = _zip_guess_encoding(de->filename, ZIP_ENCODING_UNKNOWN); in _zip_dirent_write()
652 com_enc = _zip_guess_encoding(de->comment, ZIP_ENCODING_UNKNOWN); in _zip_dirent_write()
657 de->bitflags |= ZIP_GPBF_ENCODING_UTF_8; in _zip_dirent_write()
659 de->bitflags &= ~ZIP_GPBF_ENCODING_UTF_8; in _zip_dirent_write()
661 ef = _zip_ef_utf8(ZIP_EF_UTF_8_NAME, de->filename, error); in _zip_dirent_write()
666 struct zip_extra_field *ef2 = _zip_ef_utf8(ZIP_EF_UTF_8_COMMENT, de->comment, error); in _zip_dirent_write()
678 …if ((flags & ZIP_FL_FORCE_ZIP64) || de->comp_size > ZIP_UINT32_MAX || de->uncomp_size > ZIP_UINT32… in _zip_dirent_write()
679 _zip_poke8(de->uncomp_size, &ef_zip64_p); in _zip_dirent_write()
680 _zip_poke8(de->comp_size, &ef_zip64_p); in _zip_dirent_write()
684 …if ((flags & ZIP_FL_FORCE_ZIP64) || de->comp_size > ZIP_UINT32_MAX || de->uncomp_size > ZIP_UINT32… in _zip_dirent_write()
685 if (de->comp_size >= ZIP_UINT32_MAX) in _zip_dirent_write()
686 _zip_poke8(de->comp_size, &ef_zip64_p); in _zip_dirent_write()
687 if (de->uncomp_size >= ZIP_UINT32_MAX) in _zip_dirent_write()
688 _zip_poke8(de->uncomp_size, &ef_zip64_p); in _zip_dirent_write()
689 if (de->offset >= ZIP_UINT32_MAX) in _zip_dirent_write()
690 _zip_poke8(de->offset, &ef_zip64_p); in _zip_dirent_write()
702 is_really_zip64 = _zip_dirent_needs_zip64(de, flags); in _zip_dirent_write()
707 _zip_write2(is_really_zip64 ? 45 : de->version_madeby, fp); in _zip_dirent_write()
708 _zip_write2(is_really_zip64 ? 45 : de->version_needed, fp); in _zip_dirent_write()
709 _zip_write2(de->bitflags&0xfff9, fp); /* clear compression method specific flags */ in _zip_dirent_write()
710 _zip_write2((zip_uint16_t)de->comp_method, fp); /* TODO: can it be ZIP_CM_DEFAULT? */ in _zip_dirent_write()
712 _zip_u2d_time(de->last_mod, &dostime, &dosdate); in _zip_dirent_write()
716 _zip_write4(de->crc, fp); in _zip_dirent_write()
717 if (de->comp_size < ZIP_UINT32_MAX) in _zip_dirent_write()
718 _zip_write4((zip_uint32_t)de->comp_size, fp); in _zip_dirent_write()
721 if (de->uncomp_size < ZIP_UINT32_MAX) in _zip_dirent_write()
722 _zip_write4((zip_uint32_t)de->uncomp_size, fp); in _zip_dirent_write()
726 _zip_write2(_zip_string_length(de->filename), fp); in _zip_dirent_write()
727 _zip_write2(_zip_ef_size(de->extra_fields, flags) + _zip_ef_size(ef, ZIP_EF_BOTH), fp); in _zip_dirent_write()
730 _zip_write2(_zip_string_length(de->comment), fp); in _zip_dirent_write()
731 _zip_write2((zip_uint16_t)de->disk_number, fp); in _zip_dirent_write()
732 _zip_write2(de->int_attrib, fp); in _zip_dirent_write()
733 _zip_write4(de->ext_attrib, fp); in _zip_dirent_write()
734 if (de->offset < ZIP_UINT32_MAX) in _zip_dirent_write()
735 _zip_write4((zip_uint32_t)de->offset, fp); in _zip_dirent_write()
740 if (de->filename) in _zip_dirent_write()
741 _zip_string_write(de->filename, fp); in _zip_dirent_write()
745 if (de->extra_fields) in _zip_dirent_write()
746 _zip_ef_write(de->extra_fields, flags, fp); in _zip_dirent_write()
749 if (de->comment) in _zip_dirent_write()
750 _zip_string_write(de->comment, fp); in _zip_dirent_write()