Lines Matching refs:hd

621 	struct cfheader *hd;
653 hd = &cab->cfheader;
660 hd->total_bytes = archive_le32dec(p + CFHEADER_cbCabinet);
661 hd->files_offset = archive_le32dec(p + CFHEADER_coffFiles);
662 hd->minor = p[CFHEADER_versionMinor];
663 hd->major = p[CFHEADER_versionMajor];
664 hd->folder_count = archive_le16dec(p + CFHEADER_cFolders);
665 if (hd->folder_count == 0)
667 hd->file_count = archive_le16dec(p + CFHEADER_cFiles);
668 if (hd->file_count == 0)
670 hd->flags = archive_le16dec(p + CFHEADER_flags);
671 hd->setid = archive_le16dec(p + CFHEADER_setID);
672 hd->cabinet = archive_le16dec(p + CFHEADER_iCabinet);
674 if (hd->flags & RESERVE_PRESENT) {
679 hd->cffolder = p[CFHEADER_cbCFFolder];
680 hd->cfdata = p[CFHEADER_cbCFData];
684 hd->cffolder = 0;/* Avoid compiling warning. */
685 if (hd->flags & PREV_CABINET) {
699 if (hd->flags & NEXT_CABINET) {
720 hd->folder_array = (struct cffolder *)calloc(
721 hd->folder_count, sizeof(struct cffolder));
722 if (hd->folder_array == NULL)
726 if (hd->flags & RESERVE_PRESENT)
727 bytes += hd->cffolder;
728 bytes *= hd->folder_count;
732 for (i = 0; i < hd->folder_count; i++) {
733 struct cffolder *folder = &(hd->folder_array[i]);
749 if (hd->flags & RESERVE_PRESENT) {
750 p += hd->cffolder;/* abReserve */
751 used += hd->cffolder;
771 skip = (int64_t)hd->files_offset - cab->cab_offset;
775 (intmax_t)hd->files_offset, (intmax_t)cab->cab_offset);
783 hd->file_array = (struct cffile *)calloc(
784 hd->file_count, sizeof(struct cffile));
785 if (hd->file_array == NULL)
789 for (i = 0; i < hd->file_count; i++) {
790 struct cffile *file = &(hd->file_array[i]);
825 if (i != hd->file_count -1)
827 cur_folder = hd->folder_count -1;
831 if (hd->file_count != 1)
842 if (file->folder >= hd->folder_count)
862 hd->folder_array[cur_folder].cfdata_count == 0)
866 if (hd->cabinet != 0 || hd->flags & (PREV_CABINET | NEXT_CABINET)) {
887 struct cfheader *hd;
901 hd = &cab->cfheader;
903 if (hd->file_index >= hd->file_count) {
907 file = &hd->file_array[hd->file_index++];
923 cab->entry_cffolder = &hd->folder_array[0];
926 cab->entry_cffolder = &hd->folder_array[hd->folder_count-1];
929 cab->entry_cffolder = &hd->folder_array[file->folder];
1000 hd->major, hd->minor, cab->entry_cffolder->compname);
2015 struct cfheader *hd = &cab->cfheader;
2018 if (hd->folder_array != NULL) {
2019 for (i = 0; i < hd->folder_count; i++)
2020 free(hd->folder_array[i].cfdata.memimage);
2021 free(hd->folder_array);
2023 if (hd->file_array != NULL) {
2025 archive_string_free(&(hd->file_array[i].pathname));
2026 free(hd->file_array);