idata             432 ext/phar/phar.c int phar_entry_delref(phar_entry_data *idata) /* {{{ */
idata             436 ext/phar/phar.c 	if (idata->internal_file && !idata->internal_file->is_persistent) {
idata             437 ext/phar/phar.c 		if (--idata->internal_file->fp_refcount < 0) {
idata             438 ext/phar/phar.c 			idata->internal_file->fp_refcount = 0;
idata             441 ext/phar/phar.c 		if (idata->fp && idata->fp != idata->phar->fp && idata->fp != idata->phar->ufp && idata->fp != idata->internal_file->fp) {
idata             442 ext/phar/phar.c 			php_stream_close(idata->fp);
idata             445 ext/phar/phar.c 		if (idata->internal_file->is_temp_dir) {
idata             446 ext/phar/phar.c 			destroy_phar_manifest_entry_int(idata->internal_file);
idata             447 ext/phar/phar.c 			efree(idata->internal_file);
idata             451 ext/phar/phar.c 	phar_archive_delref(idata->phar);
idata             452 ext/phar/phar.c 	efree(idata);
idata             460 ext/phar/phar.c void phar_entry_remove(phar_entry_data *idata, char **error) /* {{{ */
idata             464 ext/phar/phar.c 	phar = idata->phar;
idata             466 ext/phar/phar.c 	if (idata->internal_file->fp_refcount < 2) {
idata             467 ext/phar/phar.c 		if (idata->fp && idata->fp != idata->phar->fp && idata->fp != idata->phar->ufp && idata->fp != idata->internal_file->fp) {
idata             468 ext/phar/phar.c 			php_stream_close(idata->fp);
idata             470 ext/phar/phar.c 		zend_hash_str_del(&idata->phar->manifest, idata->internal_file->filename, idata->internal_file->filename_len);
idata             471 ext/phar/phar.c 		idata->phar->refcount--;
idata             472 ext/phar/phar.c 		efree(idata);
idata             474 ext/phar/phar.c 		idata->internal_file->is_deleted = 1;
idata             475 ext/phar/phar.c 		phar_entry_delref(idata);
idata            2340 ext/phar/phar.c int phar_postprocess_file(phar_entry_data *idata, php_uint32 crc32, char **error, int process_zip) /* {{{ */
idata            2343 ext/phar/phar.c 	int len = idata->internal_file->uncompressed_filesize;
idata            2344 ext/phar/phar.c 	php_stream *fp = idata->fp;
idata            2345 ext/phar/phar.c 	phar_entry_info *entry = idata->internal_file;
idata            2356 ext/phar/phar.c 		if (SUCCESS != phar_open_archive_fp(idata->phar)) {
idata            2357 ext/phar/phar.c 			spprintf(error, 0, "phar error: unable to open zip-based phar archive \"%s\" to verify local file header for file \"%s\"", idata->phar->fname, entry->filename);
idata            2360 ext/phar/phar.c 		php_stream_seek(phar_get_entrypfp(idata->internal_file), entry->header_offset, SEEK_SET);
idata            2362 ext/phar/phar.c 		if (sizeof(local) != php_stream_read(phar_get_entrypfp(idata->internal_file), (char *) &local, sizeof(local))) {
idata            2364 ext/phar/phar.c 			spprintf(error, 0, "phar error: internal corruption of zip-based phar \"%s\" (cannot read local file header for file \"%s\")", idata->phar->fname, entry->filename);
idata            2370 ext/phar/phar.c 			php_stream_seek(phar_get_entrypfp(idata->internal_file),
idata            2375 ext/phar/phar.c 			if (sizeof(desc) != php_stream_read(phar_get_entrypfp(idata->internal_file),
idata            2377 ext/phar/phar.c 				spprintf(error, 0, "phar error: internal corruption of zip-based phar \"%s\" (cannot read local data descriptor for file \"%s\")", idata->phar->fname, entry->filename);
idata            2389 ext/phar/phar.c 			spprintf(error, 0, "phar error: internal corruption of zip-based phar \"%s\" (local header of file \"%s\" does not match central directory)", idata->phar->fname, entry->filename);
idata            2397 ext/phar/phar.c 		if (idata->zero && idata->zero != entry->offset_abs) {
idata            2398 ext/phar/phar.c 			idata->zero = entry->offset_abs;
idata            2406 ext/phar/phar.c 	php_stream_seek(fp, idata->zero, SEEK_SET);
idata            2412 ext/phar/phar.c 	php_stream_seek(fp, idata->zero, SEEK_SET);
idata            2418 ext/phar/phar.c 		spprintf(error, 0, "phar error: internal corruption of phar \"%s\" (crc32 mismatch on file \"%s\")", idata->phar->fname, entry->filename);
idata             547 ext/phar/phar_internal.h int phar_postprocess_file(phar_entry_data *idata, php_uint32 crc32, char **error, int process_zip);
idata             601 ext/phar/phar_internal.h int phar_entry_delref(phar_entry_data *idata);
idata             161 ext/phar/stream.c 	phar_entry_data *idata;
idata             193 ext/phar/stream.c 		if (NULL == (idata = phar_get_or_create_entry_data(resource->host, host_len, internal_file, strlen(internal_file), mode, 0, &error, 1))) {
idata             207 ext/phar/stream.c 		fpf = php_stream_alloc(&phar_ops, idata, NULL, mode);
idata             213 ext/phar/stream.c 			if (idata->internal_file->uncompressed_filesize == 0
idata             214 ext/phar/stream.c 				&& idata->internal_file->compressed_filesize == 0
idata             219 ext/phar/stream.c 				idata->internal_file->flags &= ~PHAR_ENT_COMPRESSION_MASK;
idata             220 ext/phar/stream.c 				idata->internal_file->flags |= Z_LVAL_P(pzoption);
idata             223 ext/phar/stream.c 				if (Z_TYPE(idata->internal_file->metadata) != IS_UNDEF) {
idata             224 ext/phar/stream.c 					zval_ptr_dtor(&idata->internal_file->metadata);
idata             225 ext/phar/stream.c 					ZVAL_UNDEF(&idata->internal_file->metadata);
idata             230 ext/phar/stream.c 				ZVAL_COPY(&idata->internal_file->metadata, metadata);
idata             231 ext/phar/stream.c 				idata->phar->is_modified = 1;
idata             235 ext/phar/stream.c 			*opened_path = strpprintf(MAXPATHLEN, "phar://%s/%s", idata->phar->fname, idata->internal_file->filename);
idata             248 ext/phar/stream.c 				if ((FAILURE == phar_get_entry_data(&idata, resource->host, host_len, ".phar/stub.php", sizeof(".phar/stub.php")-1, "r", 0, &error, 0)) || !idata) {
idata             269 ext/phar/stream.c 				idata = (phar_entry_data *) ecalloc(1, sizeof(phar_entry_data));
idata             270 ext/phar/stream.c 				idata->fp = phar_get_pharfp(phar);
idata             271 ext/phar/stream.c 				idata->phar = phar;
idata             272 ext/phar/stream.c 				idata->internal_file = entry;
idata             286 ext/phar/stream.c 		if ((FAILURE == phar_get_entry_data(&idata, resource->host, host_len, internal_file, strlen(internal_file), "r", 0, &error, 0)) || !idata) {
idata             301 ext/phar/stream.c 		fprintf(stderr, "Pharname:   %s\n", idata->phar->filename);
idata             303 ext/phar/stream.c 		fprintf(stderr, "Entry:      %s\n", idata->internal_file->filename);
idata             304 ext/phar/stream.c 		fprintf(stderr, "Size:       %u\n", idata->internal_file->uncompressed_filesize);
idata             305 ext/phar/stream.c 		fprintf(stderr, "Compressed: %u\n", idata->internal_file->flags);
idata             306 ext/phar/stream.c 		fprintf(stderr, "Offset:     %u\n", idata->internal_file->offset_within_phar);
idata             307 ext/phar/stream.c 		fprintf(stderr, "Cached:     %s\n", idata->internal_file->filedata ? "yes" : "no");
idata             311 ext/phar/stream.c 	if (!idata->internal_file->is_crc_checked && phar_postprocess_file(idata, idata->internal_file->crc32, &error, 2) != SUCCESS) {
idata             314 ext/phar/stream.c 		phar_entry_delref(idata);
idata             320 ext/phar/stream.c 		char *entry = idata->internal_file->filename, *cwd;
idata             323 ext/phar/stream.c 		if ((idata->phar->is_tar || idata->phar->is_zip) && idata->internal_file->filename_len == sizeof(".phar/stub.php")-1 && !strncmp(idata->internal_file->filename, ".phar/stub.php", sizeof(".phar/stub.php")-1)) {
idata             336 ext/phar/stream.c 		*opened_path = strpprintf(MAXPATHLEN, "phar://%s/%s", idata->phar->fname, idata->internal_file->filename);
idata             340 ext/phar/stream.c 	fpf = php_stream_alloc(&phar_ops, idata, NULL, mode);
idata             683 ext/phar/stream.c 	phar_entry_data *idata;
idata             718 ext/phar/stream.c 	if (FAILURE == phar_get_entry_data(&idata, resource->host, host_len, internal_file, internal_file_len, "r", 0, &error, 1)) {
idata             733 ext/phar/stream.c 	if (idata->internal_file->fp_refcount > 1) {
idata             738 ext/phar/stream.c 		phar_entry_delref(idata);
idata             743 ext/phar/stream.c 	phar_entry_remove(idata, &error);
idata              25 ext/phar/stream.h void phar_entry_remove(phar_entry_data *idata, char **error);