Lines Matching refs:src
41 zip_source_free(zip_source_t *src) in zip_source_free() argument
43 if (src == NULL) in zip_source_free()
46 if (src->refcount > 0) { in zip_source_free()
47 src->refcount--; in zip_source_free()
49 if (src->refcount > 0) { in zip_source_free()
53 if (ZIP_SOURCE_IS_OPEN_READING(src)) { in zip_source_free()
54 src->open_count = 1; /* force close */ in zip_source_free()
55 zip_source_close(src); in zip_source_free()
57 if (ZIP_SOURCE_IS_OPEN_WRITING(src)) { in zip_source_free()
58 zip_source_rollback_write(src); in zip_source_free()
61 if (src->source_archive && !src->source_closed) { in zip_source_free()
62 _zip_deregister_source(src->source_archive, src); in zip_source_free()
65 (void)_zip_source_call(src, NULL, 0, ZIP_SOURCE_FREE); in zip_source_free()
67 if (src->src) { in zip_source_free()
68 zip_source_free(src->src); in zip_source_free()
71 free(src); in zip_source_free()