ef 429 ext/zip/lib/zip_dirent.c zip_uint8_t *ef = _zip_read_data(bufp ? &cur : NULL, fp, ef_len, 0, error); ef 431 ext/zip/lib/zip_dirent.c if (ef == NULL) ef 433 ext/zip/lib/zip_dirent.c if ((zde->extra_fields=_zip_ef_parse(ef, ef_len, local ? ZIP_EF_LOCAL : ZIP_EF_CENTRAL, error)) == NULL) { ef 434 ext/zip/lib/zip_dirent.c free(ef); ef 437 ext/zip/lib/zip_dirent.c free(ef); ef 462 ext/zip/lib/zip_dirent.c const zip_uint8_t *ef = _zip_ef_get_by_id(zde->extra_fields, &got_len, ZIP_EF_ZIP64, 0, local ? ZIP_EF_LOCAL : ZIP_EF_CENTRAL, error); ef 464 ext/zip/lib/zip_dirent.c if (ef == NULL) ef 480 ext/zip/lib/zip_dirent.c zde->uncomp_size = _zip_read8(&ef); ef 482 ext/zip/lib/zip_dirent.c ef += 8; ef 484 ext/zip/lib/zip_dirent.c zde->comp_size = _zip_read8(&ef); ef 487 ext/zip/lib/zip_dirent.c zde->offset = _zip_read8(&ef); ef 489 ext/zip/lib/zip_dirent.c zde->disk_number = _zip_read4(&ef); ef 518 ext/zip/lib/zip_dirent.c const zip_uint8_t *ef = _zip_ef_get_by_id(de->extra_fields, &ef_len, id, 0, ZIP_EF_BOTH, NULL); ef 520 ext/zip/lib/zip_dirent.c if (ef == NULL || ef_len < 5 || ef[0] != 1) ef 523 ext/zip/lib/zip_dirent.c ef++; ef 524 ext/zip/lib/zip_dirent.c ef_crc = _zip_read4(&ef); ef 527 ext/zip/lib/zip_dirent.c struct zip_string *ef_str = _zip_string_new(ef, ef_len-5, ZIP_ENCODING_UTF8_KNOWN, NULL); ef 640 ext/zip/lib/zip_dirent.c struct zip_extra_field *ef; ef 645 ext/zip/lib/zip_dirent.c ef = NULL; ef 661 ext/zip/lib/zip_dirent.c ef = _zip_ef_utf8(ZIP_EF_UTF_8_NAME, de->filename, error); ef 662 ext/zip/lib/zip_dirent.c if (ef == NULL) ef 668 ext/zip/lib/zip_dirent.c _zip_ef_free(ef); ef 671 ext/zip/lib/zip_dirent.c ef2->next = ef; ef 672 ext/zip/lib/zip_dirent.c ef = ef2; ef 696 ext/zip/lib/zip_dirent.c ef64->next = ef; ef 697 ext/zip/lib/zip_dirent.c ef = ef64; ef 727 ext/zip/lib/zip_dirent.c _zip_write2(_zip_ef_size(de->extra_fields, flags) + _zip_ef_size(ef, ZIP_EF_BOTH), fp); ef 743 ext/zip/lib/zip_dirent.c if (ef) ef 744 ext/zip/lib/zip_dirent.c _zip_ef_write(ef, ZIP_EF_BOTH, fp); ef 753 ext/zip/lib/zip_dirent.c _zip_ef_free(ef); ef 794 ext/zip/lib/zip_dirent.c struct zip_extra_field *ef; ef 813 ext/zip/lib/zip_dirent.c ef = _zip_ef_new(id, (zip_uint16_t)(p-data), data, ZIP_EF_BOTH); ef 815 ext/zip/lib/zip_dirent.c return ef; ef 45 ext/zip/lib/zip_extra_field.c _zip_ef_clone(const struct zip_extra_field *ef, struct zip_error *error) ef 51 ext/zip/lib/zip_extra_field.c while (ef) { ef 52 ext/zip/lib/zip_extra_field.c if ((def=_zip_ef_new(ef->id, ef->size, ef->data, ef->flags)) == NULL) { ef 64 ext/zip/lib/zip_extra_field.c ef = ef->next; ef 72 ext/zip/lib/zip_extra_field.c _zip_ef_delete_by_id(struct zip_extra_field *ef, zip_uint16_t id, zip_uint16_t id_idx, zip_flags_t flags) ef 78 ext/zip/lib/zip_extra_field.c head = ef; ef 80 ext/zip/lib/zip_extra_field.c for (; ef; ef=(prev ? prev->next : head)) { ef 81 ext/zip/lib/zip_extra_field.c if ((ef->flags & flags & ZIP_EF_BOTH) && ((ef->id == id) || (id == ZIP_EXTRA_FIELD_ALL))) { ef 83 ext/zip/lib/zip_extra_field.c ef->flags &= ~(flags & ZIP_EF_BOTH); ef 84 ext/zip/lib/zip_extra_field.c if ((ef->flags & ZIP_EF_BOTH) == 0) { ef 86 ext/zip/lib/zip_extra_field.c prev->next = ef->next; ef 88 ext/zip/lib/zip_extra_field.c head = ef->next; ef 89 ext/zip/lib/zip_extra_field.c ef->next = NULL; ef 90 ext/zip/lib/zip_extra_field.c _zip_ef_free(ef); ef 101 ext/zip/lib/zip_extra_field.c prev = ef; ef 111 ext/zip/lib/zip_extra_field.c _zip_ef_free(struct zip_extra_field *ef) ef 115 ext/zip/lib/zip_extra_field.c while (ef) { ef 116 ext/zip/lib/zip_extra_field.c ef2 = ef->next; ef 117 ext/zip/lib/zip_extra_field.c free(ef->data); ef 118 ext/zip/lib/zip_extra_field.c free(ef); ef 119 ext/zip/lib/zip_extra_field.c ef = ef2; ef 126 ext/zip/lib/zip_extra_field.c _zip_ef_get_by_id(const struct zip_extra_field *ef, zip_uint16_t *lenp, zip_uint16_t id, zip_uint16_t id_idx, zip_flags_t flags, struct zip_error *error) ef 133 ext/zip/lib/zip_extra_field.c for (; ef; ef=ef->next) { ef 134 ext/zip/lib/zip_extra_field.c if (ef->id == id && (ef->flags & flags & ZIP_EF_BOTH)) { ef 141 ext/zip/lib/zip_extra_field.c *lenp = ef->size; ef 142 ext/zip/lib/zip_extra_field.c if (ef->size > 0) ef 143 ext/zip/lib/zip_extra_field.c return ef->data; ef 194 ext/zip/lib/zip_extra_field.c struct zip_extra_field *ef; ef 196 ext/zip/lib/zip_extra_field.c if ((ef=(struct zip_extra_field *)malloc(sizeof(*ef))) == NULL) ef 199 ext/zip/lib/zip_extra_field.c ef->next = NULL; ef 200 ext/zip/lib/zip_extra_field.c ef->flags = flags; ef 201 ext/zip/lib/zip_extra_field.c ef->id = id; ef 202 ext/zip/lib/zip_extra_field.c ef->size = size; ef 204 ext/zip/lib/zip_extra_field.c if ((ef->data=(zip_uint8_t *)_zip_memdup(data, size, NULL)) == NULL) { ef 205 ext/zip/lib/zip_extra_field.c free(ef); ef 210 ext/zip/lib/zip_extra_field.c ef->data = NULL; ef 212 ext/zip/lib/zip_extra_field.c return ef; ef 220 ext/zip/lib/zip_extra_field.c struct zip_extra_field *ef, *ef2, *ef_head; ef 248 ext/zip/lib/zip_extra_field.c ef->next = ef2; ef 249 ext/zip/lib/zip_extra_field.c ef = ef2; ef 252 ext/zip/lib/zip_extra_field.c ef_head = ef = ef2; ef 261 ext/zip/lib/zip_extra_field.c _zip_ef_remove_internal(struct zip_extra_field *ef) ef 266 ext/zip/lib/zip_extra_field.c ef_head = ef; ef 269 ext/zip/lib/zip_extra_field.c while (ef) { ef 270 ext/zip/lib/zip_extra_field.c if (ZIP_EF_IS_INTERNAL(ef->id)) { ef 271 ext/zip/lib/zip_extra_field.c next = ef->next; ef 272 ext/zip/lib/zip_extra_field.c if (ef_head == ef) ef 274 ext/zip/lib/zip_extra_field.c ef->next = NULL; ef 275 ext/zip/lib/zip_extra_field.c _zip_ef_free(ef); ef 278 ext/zip/lib/zip_extra_field.c ef = next; ef 281 ext/zip/lib/zip_extra_field.c prev = ef; ef 282 ext/zip/lib/zip_extra_field.c ef = ef->next; ef 291 ext/zip/lib/zip_extra_field.c _zip_ef_size(const struct zip_extra_field *ef, zip_flags_t flags) ef 296 ext/zip/lib/zip_extra_field.c for (; ef; ef=ef->next) { ef 297 ext/zip/lib/zip_extra_field.c if (ef->flags & flags & ZIP_EF_BOTH) ef 298 ext/zip/lib/zip_extra_field.c size += 4+ef->size; ef 307 ext/zip/lib/zip_extra_field.c _zip_ef_write(const struct zip_extra_field *ef, zip_flags_t flags, FILE *f) ef 309 ext/zip/lib/zip_extra_field.c for (; ef; ef=ef->next) { ef 310 ext/zip/lib/zip_extra_field.c if (ef->flags & flags & ZIP_EF_BOTH) { ef 311 ext/zip/lib/zip_extra_field.c _zip_write2(ef->id, f); ef 312 ext/zip/lib/zip_extra_field.c _zip_write2(ef->size, f); ef 313 ext/zip/lib/zip_extra_field.c if (ef->size > 0) ef 314 ext/zip/lib/zip_extra_field.c fwrite(ef->data, ef->size, 1, f); ef 355 ext/zip/lib/zip_extra_field.c struct zip_extra_field *ef; ef 368 ext/zip/lib/zip_extra_field.c if ((ef=_zip_ef_parse(ef_raw, ef_len, ZIP_EF_LOCAL, &za->error)) == NULL) { ef 374 ext/zip/lib/zip_extra_field.c ef = _zip_ef_remove_internal(ef); ef 375 ext/zip/lib/zip_extra_field.c e->orig->extra_fields = _zip_ef_merge(e->orig->extra_fields, ef); ef 114 ext/zip/lib/zip_extra_field_api.c struct zip_extra_field *ef; ef 130 ext/zip/lib/zip_extra_field_api.c for (ef=de->extra_fields; ef; ef=ef->next) { ef 131 ext/zip/lib/zip_extra_field_api.c if (ef->flags & flags & ZIP_EF_BOTH) { ef 138 ext/zip/lib/zip_extra_field_api.c *idp = ef->id; ef 140 ext/zip/lib/zip_extra_field_api.c *lenp = ef->size; ef 141 ext/zip/lib/zip_extra_field_api.c if (ef->size > 0) ef 142 ext/zip/lib/zip_extra_field_api.c return ef->data; ef 181 ext/zip/lib/zip_extra_field_api.c struct zip_extra_field *ef; ef 197 ext/zip/lib/zip_extra_field_api.c for (ef=de->extra_fields; ef; ef=ef->next) ef 198 ext/zip/lib/zip_extra_field_api.c if (ef->flags & flags & ZIP_EF_BOTH) ef 210 ext/zip/lib/zip_extra_field_api.c struct zip_extra_field *ef; ef 226 ext/zip/lib/zip_extra_field_api.c for (ef=de->extra_fields; ef; ef=ef->next) ef 227 ext/zip/lib/zip_extra_field_api.c if (ef->id == ef_id && (ef->flags & flags & ZIP_EF_BOTH)) ef 240 ext/zip/lib/zip_extra_field_api.c struct zip_extra_field *ef, *ef_prev, *ef_new; ef 266 ext/zip/lib/zip_extra_field_api.c ef = de->extra_fields; ef 271 ext/zip/lib/zip_extra_field_api.c for (; ef; ef=ef->next) { ef 272 ext/zip/lib/zip_extra_field_api.c if (ef->id == ef_id && (ef->flags & flags & ZIP_EF_BOTH)) { ef 279 ext/zip/lib/zip_extra_field_api.c ef_prev = ef; ef 298 ext/zip/lib/zip_extra_field_api.c new_len -= ef->size + 4; ef 312 ext/zip/lib/zip_extra_field_api.c if ((ef->flags & ZIP_EF_BOTH) == (flags & ZIP_EF_BOTH)) { ef 313 ext/zip/lib/zip_extra_field_api.c ef_new->next = ef->next; ef 314 ext/zip/lib/zip_extra_field_api.c ef->next = NULL; ef 315 ext/zip/lib/zip_extra_field_api.c _zip_ef_free(ef); ef 322 ext/zip/lib/zip_extra_field_api.c ef->flags &= ~(flags & ZIP_EF_BOTH); ef 323 ext/zip/lib/zip_extra_field_api.c ef_new->next = ef->next; ef 324 ext/zip/lib/zip_extra_field_api.c ef->next = ef_new;