ef 418 ext/zip/lib/zip_dirent.c zip_uint8_t *ef = _zip_read_data(buffer, src, ef_len, 0, error); ef 420 ext/zip/lib/zip_dirent.c if (ef == NULL) { ef 426 ext/zip/lib/zip_dirent.c if (!_zip_ef_parse(ef, ef_len, local ? ZIP_EF_LOCAL : ZIP_EF_CENTRAL, &zde->extra_fields, error)) { ef 427 ext/zip/lib/zip_dirent.c free(ef); ef 433 ext/zip/lib/zip_dirent.c free(ef); ef 465 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 467 ext/zip/lib/zip_dirent.c if (ef == NULL) { ef 474 ext/zip/lib/zip_dirent.c if ((ef_buffer = _zip_buffer_new((zip_uint8_t *)ef, got_len)) == NULL) { ef 539 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 541 ext/zip/lib/zip_dirent.c if (ef == NULL || ef_len < 5 || ef[0] != 1) { ef 545 ext/zip/lib/zip_dirent.c if ((buffer = _zip_buffer_new((zip_uint8_t *)ef, ef_len)) == NULL) { ef 618 ext/zip/lib/zip_dirent.c zip_extra_field_t *ef; ef 626 ext/zip/lib/zip_dirent.c ef = NULL; ef 638 ext/zip/lib/zip_dirent.c ef = _zip_ef_utf8(ZIP_EF_UTF_8_NAME, de->filename, &za->error); ef 639 ext/zip/lib/zip_dirent.c if (ef == NULL) ef 645 ext/zip/lib/zip_dirent.c _zip_ef_free(ef); ef 648 ext/zip/lib/zip_dirent.c ef2->next = ef; ef 649 ext/zip/lib/zip_dirent.c ef = ef2; ef 661 ext/zip/lib/zip_dirent.c _zip_ef_free(ef); ef 688 ext/zip/lib/zip_dirent.c _zip_ef_free(ef); ef 694 ext/zip/lib/zip_dirent.c ef64->next = ef; ef 695 ext/zip/lib/zip_dirent.c ef = ef64; ef 700 ext/zip/lib/zip_dirent.c _zip_ef_free(ef); ef 745 ext/zip/lib/zip_dirent.c ef_total_size = (zip_uint32_t)_zip_ef_size(de->extra_fields, flags) + (zip_uint32_t)_zip_ef_size(ef, ZIP_EF_BOTH); ef 762 ext/zip/lib/zip_dirent.c _zip_ef_free(ef); ef 768 ext/zip/lib/zip_dirent.c _zip_ef_free(ef); ef 776 ext/zip/lib/zip_dirent.c _zip_ef_free(ef); ef 781 ext/zip/lib/zip_dirent.c if (ef) { ef 782 ext/zip/lib/zip_dirent.c if (_zip_ef_write(za, ef, ZIP_EF_BOTH) < 0) { ef 783 ext/zip/lib/zip_dirent.c _zip_ef_free(ef); ef 787 ext/zip/lib/zip_dirent.c _zip_ef_free(ef); ef 835 ext/zip/lib/zip_dirent.c zip_extra_field_t *ef; ef 862 ext/zip/lib/zip_dirent.c ef = _zip_ef_new(id, (zip_uint16_t)(_zip_buffer_offset(buffer)), _zip_buffer_data(buffer), ZIP_EF_BOTH); ef 865 ext/zip/lib/zip_dirent.c return ef; ef 41 ext/zip/lib/zip_extra_field.c _zip_ef_clone(const zip_extra_field_t *ef, zip_error_t *error) ef 47 ext/zip/lib/zip_extra_field.c while (ef) { ef 48 ext/zip/lib/zip_extra_field.c if ((def=_zip_ef_new(ef->id, ef->size, ef->data, ef->flags)) == NULL) { ef 60 ext/zip/lib/zip_extra_field.c ef = ef->next; ef 68 ext/zip/lib/zip_extra_field.c _zip_ef_delete_by_id(zip_extra_field_t *ef, zip_uint16_t id, zip_uint16_t id_idx, zip_flags_t flags) ef 74 ext/zip/lib/zip_extra_field.c head = ef; ef 76 ext/zip/lib/zip_extra_field.c for (; ef; ef=(prev ? prev->next : head)) { ef 77 ext/zip/lib/zip_extra_field.c if ((ef->flags & flags & ZIP_EF_BOTH) && ((ef->id == id) || (id == ZIP_EXTRA_FIELD_ALL))) { ef 79 ext/zip/lib/zip_extra_field.c ef->flags &= ~(flags & ZIP_EF_BOTH); ef 80 ext/zip/lib/zip_extra_field.c if ((ef->flags & ZIP_EF_BOTH) == 0) { ef 82 ext/zip/lib/zip_extra_field.c prev->next = ef->next; ef 84 ext/zip/lib/zip_extra_field.c head = ef->next; ef 85 ext/zip/lib/zip_extra_field.c ef->next = NULL; ef 86 ext/zip/lib/zip_extra_field.c _zip_ef_free(ef); ef 97 ext/zip/lib/zip_extra_field.c prev = ef; ef 106 ext/zip/lib/zip_extra_field.c _zip_ef_free(zip_extra_field_t *ef) ef 110 ext/zip/lib/zip_extra_field.c while (ef) { ef 111 ext/zip/lib/zip_extra_field.c ef2 = ef->next; ef 112 ext/zip/lib/zip_extra_field.c free(ef->data); ef 113 ext/zip/lib/zip_extra_field.c free(ef); ef 114 ext/zip/lib/zip_extra_field.c ef = ef2; ef 120 ext/zip/lib/zip_extra_field.c _zip_ef_get_by_id(const zip_extra_field_t *ef, zip_uint16_t *lenp, zip_uint16_t id, zip_uint16_t id_idx, zip_flags_t flags, zip_error_t *error) ef 127 ext/zip/lib/zip_extra_field.c for (; ef; ef=ef->next) { ef 128 ext/zip/lib/zip_extra_field.c if (ef->id == id && (ef->flags & flags & ZIP_EF_BOTH)) { ef 135 ext/zip/lib/zip_extra_field.c *lenp = ef->size; ef 136 ext/zip/lib/zip_extra_field.c if (ef->size > 0) ef 137 ext/zip/lib/zip_extra_field.c return ef->data; ef 186 ext/zip/lib/zip_extra_field.c zip_extra_field_t *ef; ef 188 ext/zip/lib/zip_extra_field.c if ((ef=(zip_extra_field_t *)malloc(sizeof(*ef))) == NULL) ef 191 ext/zip/lib/zip_extra_field.c ef->next = NULL; ef 192 ext/zip/lib/zip_extra_field.c ef->flags = flags; ef 193 ext/zip/lib/zip_extra_field.c ef->id = id; ef 194 ext/zip/lib/zip_extra_field.c ef->size = size; ef 196 ext/zip/lib/zip_extra_field.c if ((ef->data=(zip_uint8_t *)_zip_memdup(data, size, NULL)) == NULL) { ef 197 ext/zip/lib/zip_extra_field.c free(ef); ef 202 ext/zip/lib/zip_extra_field.c ef->data = NULL; ef 204 ext/zip/lib/zip_extra_field.c return ef; ef 212 ext/zip/lib/zip_extra_field.c zip_extra_field_t *ef, *ef2, *ef_head; ef 219 ext/zip/lib/zip_extra_field.c ef_head = ef = NULL; ef 244 ext/zip/lib/zip_extra_field.c ef->next = ef2; ef 245 ext/zip/lib/zip_extra_field.c ef = ef2; ef 248 ext/zip/lib/zip_extra_field.c ef_head = ef = ef2; ef 279 ext/zip/lib/zip_extra_field.c _zip_ef_remove_internal(zip_extra_field_t *ef) ef 284 ext/zip/lib/zip_extra_field.c ef_head = ef; ef 287 ext/zip/lib/zip_extra_field.c while (ef) { ef 288 ext/zip/lib/zip_extra_field.c if (ZIP_EF_IS_INTERNAL(ef->id)) { ef 289 ext/zip/lib/zip_extra_field.c next = ef->next; ef 290 ext/zip/lib/zip_extra_field.c if (ef_head == ef) ef 292 ext/zip/lib/zip_extra_field.c ef->next = NULL; ef 293 ext/zip/lib/zip_extra_field.c _zip_ef_free(ef); ef 296 ext/zip/lib/zip_extra_field.c ef = next; ef 299 ext/zip/lib/zip_extra_field.c prev = ef; ef 300 ext/zip/lib/zip_extra_field.c ef = ef->next; ef 309 ext/zip/lib/zip_extra_field.c _zip_ef_size(const zip_extra_field_t *ef, zip_flags_t flags) ef 314 ext/zip/lib/zip_extra_field.c for (; ef; ef=ef->next) { ef 315 ext/zip/lib/zip_extra_field.c if (ef->flags & flags & ZIP_EF_BOTH) ef 316 ext/zip/lib/zip_extra_field.c size = (zip_uint16_t)(size+4+ef->size); ef 324 ext/zip/lib/zip_extra_field.c _zip_ef_write(zip_t *za, const zip_extra_field_t *ef, zip_flags_t flags) ef 333 ext/zip/lib/zip_extra_field.c for (; ef; ef=ef->next) { ef 334 ext/zip/lib/zip_extra_field.c if (ef->flags & flags & ZIP_EF_BOTH) { ef 336 ext/zip/lib/zip_extra_field.c _zip_buffer_put_16(buffer, ef->id); ef 337 ext/zip/lib/zip_extra_field.c _zip_buffer_put_16(buffer, ef->size); ef 347 ext/zip/lib/zip_extra_field.c if (ef->size > 0) { ef 348 ext/zip/lib/zip_extra_field.c if (_zip_write(za, ef->data, ef->size) < 0) { ef 405 ext/zip/lib/zip_extra_field.c zip_extra_field_t *ef; ef 418 ext/zip/lib/zip_extra_field.c if (!_zip_ef_parse(ef_raw, ef_len, ZIP_EF_LOCAL, &ef, &za->error)) { ef 424 ext/zip/lib/zip_extra_field.c if (ef) { ef 425 ext/zip/lib/zip_extra_field.c ef = _zip_ef_remove_internal(ef); ef 426 ext/zip/lib/zip_extra_field.c e->orig->extra_fields = _zip_ef_merge(e->orig->extra_fields, ef); ef 110 ext/zip/lib/zip_extra_field_api.c zip_extra_field_t *ef; ef 126 ext/zip/lib/zip_extra_field_api.c for (ef=de->extra_fields; ef; ef=ef->next) { ef 127 ext/zip/lib/zip_extra_field_api.c if (ef->flags & flags & ZIP_EF_BOTH) { ef 134 ext/zip/lib/zip_extra_field_api.c *idp = ef->id; ef 136 ext/zip/lib/zip_extra_field_api.c *lenp = ef->size; ef 137 ext/zip/lib/zip_extra_field_api.c if (ef->size > 0) ef 138 ext/zip/lib/zip_extra_field_api.c return ef->data; ef 175 ext/zip/lib/zip_extra_field_api.c zip_extra_field_t *ef; ef 191 ext/zip/lib/zip_extra_field_api.c for (ef=de->extra_fields; ef; ef=ef->next) ef 192 ext/zip/lib/zip_extra_field_api.c if (ef->flags & flags & ZIP_EF_BOTH) ef 203 ext/zip/lib/zip_extra_field_api.c zip_extra_field_t *ef; ef 219 ext/zip/lib/zip_extra_field_api.c for (ef=de->extra_fields; ef; ef=ef->next) ef 220 ext/zip/lib/zip_extra_field_api.c if (ef->id == ef_id && (ef->flags & flags & ZIP_EF_BOTH)) ef 232 ext/zip/lib/zip_extra_field_api.c zip_extra_field_t *ef, *ef_prev, *ef_new; ef 258 ext/zip/lib/zip_extra_field_api.c ef = de->extra_fields; ef 263 ext/zip/lib/zip_extra_field_api.c for (; ef; ef=ef->next) { ef 264 ext/zip/lib/zip_extra_field_api.c if (ef->id == ef_id && (ef->flags & flags & ZIP_EF_BOTH)) { ef 271 ext/zip/lib/zip_extra_field_api.c ef_prev = ef; ef 290 ext/zip/lib/zip_extra_field_api.c new_len -= ef->size + 4; ef 304 ext/zip/lib/zip_extra_field_api.c if ((ef->flags & ZIP_EF_BOTH) == (flags & ZIP_EF_BOTH)) { ef 305 ext/zip/lib/zip_extra_field_api.c ef_new->next = ef->next; ef 306 ext/zip/lib/zip_extra_field_api.c ef->next = NULL; ef 307 ext/zip/lib/zip_extra_field_api.c _zip_ef_free(ef); ef 314 ext/zip/lib/zip_extra_field_api.c ef->flags &= ~(flags & ZIP_EF_BOTH); ef 315 ext/zip/lib/zip_extra_field_api.c ef_new->next = ef->next; ef 316 ext/zip/lib/zip_extra_field_api.c ef->next = ef_new; ef 512 ext/zip/lib/zipint.h int _zip_ef_write(zip_t *za, const zip_extra_field_t *ef, zip_flags_t flags);