phar               25 ext/phar/dirstream.c void phar_dostat(phar_archive_data *phar, phar_entry_info *data, php_stream_statbuf *ssb, zend_bool is_dir TSRMLS_DC);
phar              309 ext/phar/dirstream.c 	phar_archive_data *phar;
phar              340 ext/phar/dirstream.c 	if (FAILURE == phar_get_archive(&phar, resource->host, host_len, NULL, 0, &error TSRMLS_CC)) {
phar              358 ext/phar/dirstream.c 		ret = phar_make_dirstream(internal_file, &phar->manifest TSRMLS_CC);
phar              363 ext/phar/dirstream.c 	if (!phar->manifest.arBuckets) {
phar              368 ext/phar/dirstream.c 	if (SUCCESS == zend_hash_find(&phar->manifest, internal_file, strlen(internal_file), (void**)&entry) && !entry->is_dir) {
phar              378 ext/phar/dirstream.c 		return phar_make_dirstream(internal_file, &phar->manifest TSRMLS_CC);
phar              383 ext/phar/dirstream.c 		zend_hash_internal_pointer_reset(&phar->manifest);
phar              384 ext/phar/dirstream.c 		while (FAILURE != zend_hash_has_more_elements(&phar->manifest)) {
phar              387 ext/phar/dirstream.c 						&phar->manifest, &str_key, &keylen, &unused, 0, NULL)) {
phar              393 ext/phar/dirstream.c 					return phar_make_dirstream(internal_file, &phar->manifest TSRMLS_CC);
phar              397 ext/phar/dirstream.c 			if (SUCCESS != zend_hash_move_forward(&phar->manifest)) {
phar              414 ext/phar/dirstream.c 	phar_archive_data *phar = NULL;
phar              426 ext/phar/dirstream.c 	if (FAILURE == phar_get_archive(&phar, arch, arch_len, NULL, 0, NULL TSRMLS_CC)) {
phar              427 ext/phar/dirstream.c 		phar = NULL;
phar              433 ext/phar/dirstream.c 	if (PHAR_G(readonly) && (!phar || !phar->is_data)) {
phar              457 ext/phar/dirstream.c 	if (FAILURE == phar_get_archive(&phar, resource->host, host_len, NULL, 0, &error TSRMLS_CC)) {
phar              464 ext/phar/dirstream.c 	if ((e = phar_get_entry_info_dir(phar, resource->path + 1, strlen(resource->path + 1), 2, &error, 1 TSRMLS_CC))) {
phar              482 ext/phar/dirstream.c 	if (phar_get_entry_info_dir(phar, resource->path + 1, strlen(resource->path + 1), 0, &error, 1 TSRMLS_CC)) {
phar              499 ext/phar/dirstream.c 	if (phar->is_zip) {
phar              505 ext/phar/dirstream.c 	if (phar->is_tar) {
phar              513 ext/phar/dirstream.c 	entry.phar = phar;
phar              519 ext/phar/dirstream.c 	if (SUCCESS != zend_hash_add(&phar->manifest, entry.filename, entry.filename_len, (void*)&entry, sizeof(phar_entry_info), NULL)) {
phar              520 ext/phar/dirstream.c 		php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: cannot create directory \"%s\" in phar \"%s\", adding to manifest failed", entry.filename, phar->fname);
phar              526 ext/phar/dirstream.c 	phar_flush(phar, 0, 0, 0, &error TSRMLS_CC);
phar              529 ext/phar/dirstream.c 		php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: cannot create directory \"%s\" in phar \"%s\", %s", entry.filename, phar->fname, error);
phar              530 ext/phar/dirstream.c 		zend_hash_del(&phar->manifest, entry.filename, entry.filename_len);
phar              535 ext/phar/dirstream.c 	phar_add_virtual_dirs(phar, entry.filename, entry.filename_len TSRMLS_CC);
phar              546 ext/phar/dirstream.c 	phar_archive_data *phar = NULL;
phar              562 ext/phar/dirstream.c 	if (FAILURE == phar_get_archive(&phar, arch, arch_len, NULL, 0, NULL TSRMLS_CC)) {
phar              563 ext/phar/dirstream.c 		phar = NULL;
phar              569 ext/phar/dirstream.c 	if (PHAR_G(readonly) && (!phar || !phar->is_data)) {
phar              593 ext/phar/dirstream.c 	if (FAILURE == phar_get_archive(&phar, resource->host, host_len, NULL, 0, &error TSRMLS_CC)) {
phar              602 ext/phar/dirstream.c 	if (!(entry = phar_get_entry_info_dir(phar, resource->path + 1, path_len, 2, &error, 1 TSRMLS_CC))) {
phar              614 ext/phar/dirstream.c 		for (zend_hash_internal_pointer_reset(&phar->manifest);
phar              615 ext/phar/dirstream.c 			HASH_KEY_NON_EXISTENT != zend_hash_get_current_key_ex(&phar->manifest, &str_key, &key_len, &unused, 0, NULL);
phar              616 ext/phar/dirstream.c 			zend_hash_move_forward(&phar->manifest)
phar              631 ext/phar/dirstream.c 		for (zend_hash_internal_pointer_reset(&phar->virtual_dirs);
phar              632 ext/phar/dirstream.c 			HASH_KEY_NON_EXISTENT != zend_hash_get_current_key_ex(&phar->virtual_dirs, &str_key, &key_len, &unused, 0, NULL);
phar              633 ext/phar/dirstream.c 			zend_hash_move_forward(&phar->virtual_dirs)) {
phar              650 ext/phar/dirstream.c 		zend_hash_del(&phar->virtual_dirs, resource->path+1, path_len);
phar              656 ext/phar/dirstream.c 		phar_flush(phar, 0, 0, 0, &error TSRMLS_CC);
phar              659 ext/phar/dirstream.c 			php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: cannot remove directory \"%s\" in phar \"%s\", %s", entry->filename, phar->fname, error);
phar              133 ext/phar/func_interceptors.c 			phar_archive_data *phar;
phar              147 ext/phar/func_interceptors.c 			if (FAILURE == phar_get_archive(&phar, arch, arch_len, NULL, 0, NULL TSRMLS_CC)) {
phar              163 ext/phar/func_interceptors.c 					if (!zend_hash_exists(&(phar->manifest), entry + 1, entry_len - 1)) {
phar              171 ext/phar/func_interceptors.c 					if (!zend_hash_exists(&(phar->manifest), entry, entry_len)) {
phar              255 ext/phar/func_interceptors.c 		phar_archive_data *phar;
phar              271 ext/phar/func_interceptors.c 		if (FAILURE == phar_get_archive(&phar, arch, arch_len, NULL, 0, NULL TSRMLS_CC)) {
phar              286 ext/phar/func_interceptors.c 				if (!zend_hash_exists(&(phar->manifest), entry + 1, entry_len - 1)) {
phar              294 ext/phar/func_interceptors.c 				if (!zend_hash_exists(&(phar->manifest), entry, entry_len)) {
phar              351 ext/phar/func_interceptors.c 		phar_archive_data *phar;
phar              367 ext/phar/func_interceptors.c 		if (FAILURE == phar_get_archive(&phar, arch, arch_len, NULL, 0, NULL TSRMLS_CC)) {
phar              382 ext/phar/func_interceptors.c 				if (!zend_hash_exists(&(phar->manifest), entry + 1, entry_len - 1)) {
phar              390 ext/phar/func_interceptors.c 				if (!zend_hash_exists(&(phar->manifest), entry, entry_len)) {
phar              622 ext/phar/func_interceptors.c 		phar_archive_data *phar;
phar              639 ext/phar/func_interceptors.c 			phar = PHAR_G(last_phar);
phar              648 ext/phar/func_interceptors.c 			if (FAILURE == phar_get_archive(&phar, arch, arch_len, NULL, 0, NULL TSRMLS_CC)) {
phar              656 ext/phar/func_interceptors.c 				if (SUCCESS == zend_hash_find(&(phar->manifest), entry + 1, entry_len - 1, (void **) &data)) {
phar              662 ext/phar/func_interceptors.c 			if (SUCCESS == zend_hash_find(&(phar->manifest), entry, entry_len, (void **) &data)) {
phar              666 ext/phar/func_interceptors.c 			if (zend_hash_exists(&(phar->virtual_dirs), entry, entry_len)) {
phar              676 ext/phar/func_interceptors.c 				sb.st_mtime.tv_sec = phar->max_timestamp;
phar              677 ext/phar/func_interceptors.c 				sb.st_atime.tv_sec = phar->max_timestamp;
phar              678 ext/phar/func_interceptors.c 				sb.st_ctime.tv_sec = phar->max_timestamp;
phar              680 ext/phar/func_interceptors.c 				sb.st_mtime = phar->max_timestamp;
phar              681 ext/phar/func_interceptors.c 				sb.st_atime = phar->max_timestamp;
phar              682 ext/phar/func_interceptors.c 				sb.st_ctime = phar->max_timestamp;
phar              700 ext/phar/func_interceptors.c 				if (SUCCESS == zend_hash_find(&(phar->manifest), entry + 1, entry_len - 1, (void **) &data)) {
phar              710 ext/phar/func_interceptors.c 				if (zend_hash_exists(&(phar->virtual_dirs), entry + 1, entry_len - 1)) {
phar              722 ext/phar/func_interceptors.c 					sb.st_mtime.tv_sec = phar->max_timestamp;
phar              723 ext/phar/func_interceptors.c 					sb.st_atime.tv_sec = phar->max_timestamp;
phar              724 ext/phar/func_interceptors.c 					sb.st_ctime.tv_sec = phar->max_timestamp;
phar              726 ext/phar/func_interceptors.c 					sb.st_mtime = phar->max_timestamp;
phar              727 ext/phar/func_interceptors.c 					sb.st_atime = phar->max_timestamp;
phar              728 ext/phar/func_interceptors.c 					sb.st_ctime = phar->max_timestamp;
phar              782 ext/phar/func_interceptors.c 			if (!phar->is_writeable) {
phar              924 ext/phar/func_interceptors.c 			phar_archive_data *phar;
phar              931 ext/phar/func_interceptors.c 			if (SUCCESS == phar_get_archive(&phar, arch, arch_len, NULL, 0, NULL TSRMLS_CC)) {
phar              936 ext/phar/func_interceptors.c 					if (SUCCESS == zend_hash_find(&(phar->manifest), entry + 1, entry_len - 1, (void **) &etemp)) {
phar              944 ext/phar/func_interceptors.c 					if (SUCCESS == zend_hash_find(&(phar->manifest), entry, entry_len, (void **) &etemp)) {
phar              991 ext/phar/func_interceptors.c 			phar_archive_data *phar;
phar              998 ext/phar/func_interceptors.c 			if (SUCCESS == phar_get_archive(&phar, arch, arch_len, NULL, 0, NULL TSRMLS_CC)) {
phar             1003 ext/phar/func_interceptors.c 					if (SUCCESS == zend_hash_find(&(phar->manifest), entry + 1, entry_len - 1, (void **) &etemp)) {
phar             1011 ext/phar/func_interceptors.c 					if (SUCCESS == zend_hash_find(&(phar->manifest), entry, entry_len, (void **) &etemp)) {
phar               29 ext/phar/phar.c ZEND_DECLARE_MODULE_GLOBALS(phar)
phar               38 ext/phar/phar.c 	phar_archive_data *phar = *(phar_archive_data **)pDest;
phar               40 ext/phar/phar.c 	if (!phar->is_data) {
phar               41 ext/phar/phar.c 		phar->is_writeable = !keep;
phar              105 ext/phar/phar.c 	phar_archive_data *phar;
phar              139 ext/phar/phar.c 			if (SUCCESS == phar_open_from_filename(key, end - key, NULL, 0, 0, &phar, NULL TSRMLS_CC)) {
phar              141 ext/phar/phar.c 				phar->phar_pos = i++;
phar              142 ext/phar/phar.c 				php_stream_close(phar->fp);
phar              143 ext/phar/phar.c 				phar->fp = NULL;
phar              162 ext/phar/phar.c 			if (SUCCESS == phar_open_from_filename(key, strlen(key), NULL, 0, 0, &phar, NULL TSRMLS_CC)) {
phar              207 ext/phar/phar.c void phar_destroy_phar_data(phar_archive_data *phar TSRMLS_DC) /* {{{ */
phar              209 ext/phar/phar.c 	if (phar->alias && phar->alias != phar->fname) {
phar              210 ext/phar/phar.c 		pefree(phar->alias, phar->is_persistent);
phar              211 ext/phar/phar.c 		phar->alias = NULL;
phar              214 ext/phar/phar.c 	if (phar->fname) {
phar              215 ext/phar/phar.c 		pefree(phar->fname, phar->is_persistent);
phar              216 ext/phar/phar.c 		phar->fname = NULL;
phar              219 ext/phar/phar.c 	if (phar->signature) {
phar              220 ext/phar/phar.c 		pefree(phar->signature, phar->is_persistent);
phar              221 ext/phar/phar.c 		phar->signature = NULL;
phar              224 ext/phar/phar.c 	if (phar->manifest.arBuckets) {
phar              225 ext/phar/phar.c 		zend_hash_destroy(&phar->manifest);
phar              226 ext/phar/phar.c 		phar->manifest.arBuckets = NULL;
phar              229 ext/phar/phar.c 	if (phar->mounted_dirs.arBuckets) {
phar              230 ext/phar/phar.c 		zend_hash_destroy(&phar->mounted_dirs);
phar              231 ext/phar/phar.c 		phar->mounted_dirs.arBuckets = NULL;
phar              234 ext/phar/phar.c 	if (phar->virtual_dirs.arBuckets) {
phar              235 ext/phar/phar.c 		zend_hash_destroy(&phar->virtual_dirs);
phar              236 ext/phar/phar.c 		phar->virtual_dirs.arBuckets = NULL;
phar              239 ext/phar/phar.c 	if (phar->metadata) {
phar              240 ext/phar/phar.c 		if (phar->is_persistent) {
phar              241 ext/phar/phar.c 			if (phar->metadata_len) {
phar              243 ext/phar/phar.c 				free(phar->metadata);
phar              245 ext/phar/phar.c 				zval_internal_ptr_dtor(&phar->metadata);
phar              248 ext/phar/phar.c 			zval_ptr_dtor(&phar->metadata);
phar              250 ext/phar/phar.c 		phar->metadata_len = 0;
phar              251 ext/phar/phar.c 		phar->metadata = 0;
phar              254 ext/phar/phar.c 	if (phar->fp) {
phar              255 ext/phar/phar.c 		php_stream_close(phar->fp);
phar              256 ext/phar/phar.c 		phar->fp = 0;
phar              259 ext/phar/phar.c 	if (phar->ufp) {
phar              260 ext/phar/phar.c 		php_stream_close(phar->ufp);
phar              261 ext/phar/phar.c 		phar->ufp = 0;
phar              264 ext/phar/phar.c 	pefree(phar, phar->is_persistent);
phar              271 ext/phar/phar.c int phar_archive_delref(phar_archive_data *phar TSRMLS_DC) /* {{{ */
phar              273 ext/phar/phar.c 	if (phar->is_persistent) {
phar              277 ext/phar/phar.c 	if (--phar->refcount < 0) {
phar              279 ext/phar/phar.c 		|| zend_hash_del(&(PHAR_GLOBALS->phar_fname_map), phar->fname, phar->fname_len) != SUCCESS) {
phar              280 ext/phar/phar.c 			phar_destroy_phar_data(phar TSRMLS_CC);
phar              283 ext/phar/phar.c 	} else if (!phar->refcount) {
phar              288 ext/phar/phar.c 		if (phar->fp && !(phar->flags & PHAR_FILE_COMPRESSION_MASK)) {
phar              293 ext/phar/phar.c 			php_stream_close(phar->fp);
phar              294 ext/phar/phar.c 			phar->fp = NULL;
phar              297 ext/phar/phar.c 		if (!zend_hash_num_elements(&phar->manifest)) {
phar              300 ext/phar/phar.c 			if (zend_hash_del(&(PHAR_GLOBALS->phar_fname_map), phar->fname, phar->fname_len) != SUCCESS) {
phar              301 ext/phar/phar.c 				phar_destroy_phar_data(phar TSRMLS_CC);
phar              438 ext/phar/phar.c 		if (idata->fp && idata->fp != idata->phar->fp && idata->fp != idata->phar->ufp && idata->fp != idata->internal_file->fp) {
phar              448 ext/phar/phar.c 	phar_archive_delref(idata->phar TSRMLS_CC);
phar              459 ext/phar/phar.c 	phar_archive_data *phar;
phar              461 ext/phar/phar.c 	phar = idata->phar;
phar              464 ext/phar/phar.c 		if (idata->fp && idata->fp != idata->phar->fp && idata->fp != idata->phar->ufp && idata->fp != idata->internal_file->fp) {
phar              467 ext/phar/phar.c 		zend_hash_del(&idata->phar->manifest, idata->internal_file->filename, idata->internal_file->filename_len);
phar              468 ext/phar/phar.c 		idata->phar->refcount--;
phar              475 ext/phar/phar.c 	if (!phar->donotflush) {
phar              476 ext/phar/phar.c 		phar_flush(phar, 0, 0, 0, error TSRMLS_CC);
phar              531 ext/phar/phar.c 	phar_archive_data *phar;
phar              543 ext/phar/phar.c 	if (SUCCESS == phar_get_archive(&phar, unixfname, fname_len, alias, alias_len, error TSRMLS_CC)
phar              544 ext/phar/phar.c 		&& ((alias && fname_len == phar->fname_len
phar              545 ext/phar/phar.c 		&& !strncmp(unixfname, phar->fname, fname_len)) || !alias)
phar              550 ext/phar/phar.c 	if (SUCCESS == phar_get_archive(&phar, fname, fname_len, alias, alias_len, error TSRMLS_CC)
phar              551 ext/phar/phar.c 		&& ((alias && fname_len == phar->fname_len
phar              552 ext/phar/phar.c 		&& !strncmp(fname, phar->fname, fname_len)) || !alias)
phar              564 ext/phar/phar.c 			if (!phar->halt_offset && !phar->is_brandnew && (phar->is_tar || phar->is_zip)) {
phar              565 ext/phar/phar.c 				if (PHAR_G(readonly) && FAILURE == zend_hash_find(&(phar->manifest), ".phar/stub.php", sizeof(".phar/stub.php")-1, (void **)&stub)) {
phar              575 ext/phar/phar.c 			*pphar = phar;
phar              587 ext/phar/phar.c 		if (phar && error && !(options & REPORT_ERRORS)) {
phar             1053 ext/phar/phar.c 	entry.phar = mydata;
phar             2403 ext/phar/phar.c 		if (SUCCESS != phar_open_archive_fp(idata->phar TSRMLS_CC)) {
phar             2404 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);
phar             2411 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);
phar             2424 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);
phar             2436 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);
phar             2465 ext/phar/phar.c 		spprintf(error, 0, "phar error: internal corruption of phar \"%s\" (crc32 mismatch on file \"%s\")", idata->phar->fname, entry->filename);
phar             2549 ext/phar/phar.c int phar_flush(phar_archive_data *phar, char *user_stub, long len, int convert, char **error TSRMLS_DC) /* {{{ */
phar             2569 ext/phar/phar.c 	if (phar->is_persistent) {
phar             2571 ext/phar/phar.c 			spprintf(error, 0, "internal error: attempt to flush cached zip-based phar \"%s\"", phar->fname);
phar             2580 ext/phar/phar.c 	if (!zend_hash_num_elements(&phar->manifest) && !user_stub) {
phar             2584 ext/phar/phar.c 	zend_hash_clean(&phar->virtual_dirs);
phar             2586 ext/phar/phar.c 	if (phar->is_zip) {
phar             2587 ext/phar/phar.c 		return phar_zip_flush(phar, user_stub, len, convert, error TSRMLS_CC);
phar             2590 ext/phar/phar.c 	if (phar->is_tar) {
phar             2591 ext/phar/phar.c 		return phar_tar_flush(phar, user_stub, len, convert, error TSRMLS_CC);
phar             2598 ext/phar/phar.c 	if (phar->fp && !phar->is_brandnew) {
phar             2599 ext/phar/phar.c 		oldfile = phar->fp;
phar             2603 ext/phar/phar.c 		oldfile = php_stream_open_wrapper(phar->fname, "rb", 0, NULL);
phar             2626 ext/phar/phar.c 					spprintf(error, 0, "unable to access resource to copy stub to new phar \"%s\"", phar->fname);
phar             2643 ext/phar/phar.c 					spprintf(error, 0, "unable to read resource to copy stub to new phar \"%s\"", phar->fname);
phar             2659 ext/phar/phar.c 				spprintf(error, 0, "illegal stub for phar \"%s\"", phar->fname);
phar             2676 ext/phar/phar.c 				spprintf(error, 0, "unable to create stub from string in new phar \"%s\"", phar->fname);
phar             2683 ext/phar/phar.c 		phar->halt_offset = len + 5;
phar             2690 ext/phar/phar.c 		if (!user_stub && phar->halt_offset && oldfile && !phar->is_brandnew) {
phar             2691 ext/phar/phar.c 			php_stream_copy_to_stream_ex(oldfile, newfile, phar->halt_offset, &written);
phar             2695 ext/phar/phar.c 			newstub = phar_create_default_stub(NULL, NULL, &(phar->halt_offset), NULL TSRMLS_CC);
phar             2696 ext/phar/phar.c 			written = php_stream_write(newfile, newstub, phar->halt_offset);
phar             2698 ext/phar/phar.c 		if (phar->halt_offset != written) {
phar             2705 ext/phar/phar.c 					spprintf(error, 0, "unable to create stub in new phar \"%s\"", phar->fname);
phar             2707 ext/phar/phar.c 					spprintf(error, 0, "unable to copy stub of old phar to new phar \"%s\"", phar->fname);
phar             2725 ext/phar/phar.c 	zend_hash_apply(&phar->manifest, phar_flush_clean_deleted_apply TSRMLS_CC);
phar             2729 ext/phar/phar.c 	if (phar->metadata) {
phar             2731 ext/phar/phar.c 		php_var_serialize(&main_metadata_str, &phar->metadata, &metadata_hash TSRMLS_CC);
phar             2738 ext/phar/phar.c 	for (zend_hash_internal_pointer_reset(&phar->manifest);
phar             2739 ext/phar/phar.c 		zend_hash_has_more_elements(&phar->manifest) == SUCCESS;
phar             2740 ext/phar/phar.c 		zend_hash_move_forward(&phar->manifest)) {
phar             2741 ext/phar/phar.c 		if (zend_hash_get_current_data(&phar->manifest, (void **)&entry) == FAILURE) {
phar             2767 ext/phar/phar.c 		phar_add_virtual_dirs(phar, entry->filename, entry->filename_len TSRMLS_CC);
phar             2803 ext/phar/phar.c 			newentry = phar_open_jit(phar, entry, error TSRMLS_CC);
phar             2819 ext/phar/phar.c 				spprintf(error, 0, "unable to seek to start of file \"%s\" while creating new phar \"%s\"", entry->filename, phar->fname);
phar             2843 ext/phar/phar.c 					spprintf(error, 0, "unable to gzip compress file \"%s\" to new phar \"%s\"", entry->filename, phar->fname);
phar             2847 ext/phar/phar.c 					spprintf(error, 0, "unable to bzip2 compress file \"%s\" to new phar \"%s\"", entry->filename, phar->fname);
phar             2874 ext/phar/phar.c 				spprintf(error, 0, "unable to seek to start of file \"%s\" while creating new phar \"%s\"", entry->filename, phar->fname);
phar             2885 ext/phar/phar.c 				spprintf(error, 0, "unable to copy compressed file contents of file \"%s\" while creating new phar \"%s\"", entry->filename, phar->fname);
phar             2912 ext/phar/phar.c 	restore_alias_len = phar->alias_len;
phar             2913 ext/phar/phar.c 	if (phar->is_temporary_alias) {
phar             2914 ext/phar/phar.c 		phar->alias_len = 0;
phar             2917 ext/phar/phar.c 	manifest_len = offset + phar->alias_len + sizeof(manifest) + main_metadata_str.len;
phar             2934 ext/phar/phar.c 	phar_set_32(manifest+14, phar->alias_len);
phar             2938 ext/phar/phar.c 	|| (size_t)phar->alias_len != php_stream_write(newfile, phar->alias, phar->alias_len)) {
phar             2945 ext/phar/phar.c 		phar->alias_len = restore_alias_len;
phar             2948 ext/phar/phar.c 			spprintf(error, 0, "unable to write manifest header of new phar \"%s\"", phar->fname);
phar             2954 ext/phar/phar.c 	phar->alias_len = restore_alias_len;
phar             2966 ext/phar/phar.c 		phar->alias_len = restore_alias_len;
phar             2969 ext/phar/phar.c 			spprintf(error, 0, "unable to write manifest meta-data of new phar \"%s\"", phar->fname);
phar             2980 ext/phar/phar.c 	for (zend_hash_internal_pointer_reset(&phar->manifest);
phar             2981 ext/phar/phar.c 		zend_hash_has_more_elements(&phar->manifest) == SUCCESS;
phar             2982 ext/phar/phar.c 		zend_hash_move_forward(&phar->manifest)) {
phar             2984 ext/phar/phar.c 		if (zend_hash_get_current_data(&phar->manifest, (void **)&entry) == FAILURE) {
phar             3009 ext/phar/phar.c 					spprintf(error, 0, "unable to write filename of directory \"%s\" to manifest of new phar \"%s\"", entry->filename, phar->fname);
phar             3011 ext/phar/phar.c 					spprintf(error, 0, "unable to write filename of file \"%s\" to manifest of new phar \"%s\"", entry->filename, phar->fname);
phar             3043 ext/phar/phar.c 				spprintf(error, 0, "unable to write temporary manifest of file \"%s\" to manifest of new phar \"%s\"", entry->filename, phar->fname);
phar             3068 ext/phar/phar.c 	for (zend_hash_internal_pointer_reset(&phar->manifest);
phar             3069 ext/phar/phar.c 		zend_hash_has_more_elements(&phar->manifest) == SUCCESS;
phar             3070 ext/phar/phar.c 		zend_hash_move_forward(&phar->manifest)) {
phar             3072 ext/phar/phar.c 		if (zend_hash_get_current_data(&phar->manifest, (void **)&entry) == FAILURE) {
phar             3091 ext/phar/phar.c 					spprintf(error, 0, "unable to seek to start of file \"%s\" while creating new phar \"%s\"", entry->filename, phar->fname);
phar             3103 ext/phar/phar.c 				spprintf(error, 0, "unable to seek to start of file \"%s\" while creating new phar \"%s\"", entry->filename, phar->fname);
phar             3119 ext/phar/phar.c 				spprintf(error, 0, "unable to write contents of file \"%s\" to new phar \"%s\"", entry->filename, phar->fname);
phar             3134 ext/phar/phar.c 			if (entry->fp_refcount == 0 && entry->fp != phar->fp && entry->fp != phar->ufp) {
phar             3151 ext/phar/phar.c 		if (phar->signature) {
phar             3152 ext/phar/phar.c 			efree(phar->signature);
phar             3153 ext/phar/phar.c 			phar->signature = NULL;
phar             3156 ext/phar/phar.c 		switch(phar->sig_flags) {
phar             3165 ext/phar/phar.c 					spprintf(error, 0, "unable to write contents of file \"%s\" to new phar \"%s\" with requested hash type", entry->filename, phar->fname);
phar             3173 ext/phar/phar.c 				if (FAILURE == phar_create_signature(phar, newfile, &digest, &digest_len, error TSRMLS_CC)) {
phar             3191 ext/phar/phar.c 				if (phar->sig_flags == PHAR_SIG_OPENSSL) {
phar             3198 ext/phar/phar.c 		phar_set_32(sig_buf, phar->sig_flags);
phar             3206 ext/phar/phar.c 	if (phar->fp && free_fp) {
phar             3207 ext/phar/phar.c 		php_stream_close(phar->fp);
phar             3210 ext/phar/phar.c 	if (phar->ufp) {
phar             3212 ext/phar/phar.c 			php_stream_close(phar->ufp);
phar             3214 ext/phar/phar.c 		phar->ufp = NULL;
phar             3221 ext/phar/phar.c 	phar->internal_file_start = halt_offset + manifest_len + 4;
phar             3222 ext/phar/phar.c 	phar->halt_offset = halt_offset;
phar             3223 ext/phar/phar.c 	phar->is_brandnew = 0;
phar             3227 ext/phar/phar.c 	if (phar->donotflush) {
phar             3229 ext/phar/phar.c 		phar->fp = newfile;
phar             3231 ext/phar/phar.c 		phar->fp = php_stream_open_wrapper(phar->fname, "w+b", IGNORE_URL|STREAM_MUST_SEEK|REPORT_ERRORS, NULL);
phar             3232 ext/phar/phar.c 		if (!phar->fp) {
phar             3233 ext/phar/phar.c 			phar->fp = newfile;
phar             3235 ext/phar/phar.c 				spprintf(error, 4096, "unable to open new phar \"%s\" for writing", phar->fname);
phar             3240 ext/phar/phar.c 		if (phar->flags & PHAR_FILE_COMPRESSED_GZ) {
phar             3246 ext/phar/phar.c 			filter = php_stream_filter_create("zlib.deflate", &filterparams, php_stream_is_persistent(phar->fp) TSRMLS_CC);
phar             3251 ext/phar/phar.c 					spprintf(error, 4096, "unable to compress all contents of phar \"%s\" using zlib, PHP versions older than 5.2.6 have a buggy zlib", phar->fname);
phar             3256 ext/phar/phar.c 			php_stream_filter_append(&phar->fp->writefilters, filter);
phar             3257 ext/phar/phar.c 			php_stream_copy_to_stream_ex(newfile, phar->fp, PHP_STREAM_COPY_ALL, NULL);
phar             3260 ext/phar/phar.c 			php_stream_close(phar->fp);
phar             3262 ext/phar/phar.c 			phar->fp = newfile;
phar             3263 ext/phar/phar.c 		} else if (phar->flags & PHAR_FILE_COMPRESSED_BZ2) {
phar             3264 ext/phar/phar.c 			filter = php_stream_filter_create("bzip2.compress", NULL, php_stream_is_persistent(phar->fp) TSRMLS_CC);
phar             3265 ext/phar/phar.c 			php_stream_filter_append(&phar->fp->writefilters, filter);
phar             3266 ext/phar/phar.c 			php_stream_copy_to_stream_ex(newfile, phar->fp, PHP_STREAM_COPY_ALL, NULL);
phar             3269 ext/phar/phar.c 			php_stream_close(phar->fp);
phar             3271 ext/phar/phar.c 			phar->fp = newfile;
phar             3273 ext/phar/phar.c 			php_stream_copy_to_stream_ex(newfile, phar->fp, PHP_STREAM_COPY_ALL, NULL);
phar             3279 ext/phar/phar.c 	if (-1 == php_stream_seek(phar->fp, phar->halt_offset, SEEK_SET)) {
phar             3281 ext/phar/phar.c 			spprintf(error, 0, "unable to seek to __HALT_COMPILER(); in new phar \"%s\"", phar->fname);
phar             3291 ext/phar/phar.c ZEND_GET_MODULE(phar)
phar             3327 ext/phar/phar.c 	phar_archive_data *phar;
phar             3333 ext/phar/phar.c 		if (SUCCESS == phar_open_from_filename((char*)file_handle->filename, strlen(file_handle->filename), NULL, 0, 0, &phar, NULL TSRMLS_CC)) {
phar             3334 ext/phar/phar.c 			if (phar->is_zip || phar->is_tar) {
phar             3351 ext/phar/phar.c 			} else if (phar->flags & PHAR_FILE_COMPRESSION_MASK) {
phar             3355 ext/phar/phar.c 				file_handle->handle.stream.handle  = phar;
phar             3360 ext/phar/phar.c 				phar->is_persistent ?
phar             3361 ext/phar/phar.c 					php_stream_rewind(PHAR_GLOBALS->cached_fp[phar->phar_pos].fp) :
phar             3362 ext/phar/phar.c 					php_stream_rewind(phar->fp);
phar             3392 ext/phar/phar.c PHP_GINIT_FUNCTION(phar) /* {{{ */
phar             3452 ext/phar/phar.c PHP_GSHUTDOWN_FUNCTION(phar) /* {{{ */
phar             3458 ext/phar/phar.c PHP_MINIT_FUNCTION(phar) /* {{{ */
phar             3477 ext/phar/phar.c PHP_MSHUTDOWN_FUNCTION(phar) /* {{{ */
phar             3532 ext/phar/phar.c PHP_RSHUTDOWN_FUNCTION(phar) /* {{{ */
phar             3579 ext/phar/phar.c PHP_MINFO_FUNCTION(phar) /* {{{ */
phar             3647 ext/phar/phar.c 	PHP_MINIT(phar),
phar             3648 ext/phar/phar.c 	PHP_MSHUTDOWN(phar),
phar             3650 ext/phar/phar.c 	PHP_RSHUTDOWN(phar),
phar             3651 ext/phar/phar.c 	PHP_MINFO(phar),
phar             3653 ext/phar/phar.c 	PHP_MODULE_GLOBALS(phar),   /* globals descriptor */
phar             3654 ext/phar/phar.c 	PHP_GINIT(phar),            /* globals ctor */
phar             3655 ext/phar/phar.c 	PHP_GSHUTDOWN(phar),        /* globals dtor */
phar              138 ext/phar/phar_internal.h ZEND_BEGIN_MODULE_GLOBALS(phar)
phar              195 ext/phar/phar_internal.h ZEND_END_MODULE_GLOBALS(phar)
phar              197 ext/phar/phar_internal.h ZEND_EXTERN_MODULE_GLOBALS(phar)
phar              263 ext/phar/phar_internal.h 	phar_archive_data        *phar;
phar              351 ext/phar/phar_internal.h 		return entry->phar->fp;
phar              353 ext/phar/phar_internal.h 	return PHAR_GLOBALS->cached_fp[entry->phar->phar_pos].fp;
phar              359 ext/phar/phar_internal.h 		return entry->phar->ufp;
phar              361 ext/phar/phar_internal.h 	return PHAR_GLOBALS->cached_fp[entry->phar->phar_pos].ufp;
phar              366 ext/phar/phar_internal.h 	if (!entry->phar->is_persistent) {
phar              367 ext/phar/phar_internal.h 		entry->phar->fp =  fp;
phar              371 ext/phar/phar_internal.h 	PHAR_GLOBALS->cached_fp[entry->phar->phar_pos].fp = fp;
phar              376 ext/phar/phar_internal.h 	if (!entry->phar->is_persistent) {
phar              377 ext/phar/phar_internal.h 		entry->phar->ufp =  fp;
phar              381 ext/phar/phar_internal.h 	PHAR_GLOBALS->cached_fp[entry->phar->phar_pos].ufp = fp;
phar              384 ext/phar/phar_internal.h static inline php_stream *phar_get_pharfp(phar_archive_data *phar TSRMLS_DC)
phar              386 ext/phar/phar_internal.h 	if (!phar->is_persistent) {
phar              387 ext/phar/phar_internal.h 		return phar->fp;
phar              389 ext/phar/phar_internal.h 	return PHAR_GLOBALS->cached_fp[phar->phar_pos].fp;
phar              392 ext/phar/phar_internal.h static inline php_stream *phar_get_pharufp(phar_archive_data *phar TSRMLS_DC)
phar              394 ext/phar/phar_internal.h 	if (!phar->is_persistent) {
phar              395 ext/phar/phar_internal.h 		return phar->ufp;
phar              397 ext/phar/phar_internal.h 	return PHAR_GLOBALS->cached_fp[phar->phar_pos].ufp;
phar              400 ext/phar/phar_internal.h static inline void phar_set_pharfp(phar_archive_data *phar, php_stream *fp TSRMLS_DC)
phar              402 ext/phar/phar_internal.h 	if (!phar->is_persistent) {
phar              403 ext/phar/phar_internal.h 		phar->fp =  fp;
phar              407 ext/phar/phar_internal.h 	PHAR_GLOBALS->cached_fp[phar->phar_pos].fp = fp;
phar              410 ext/phar/phar_internal.h static inline void phar_set_pharufp(phar_archive_data *phar, php_stream *fp TSRMLS_DC)
phar              412 ext/phar/phar_internal.h 	if (!phar->is_persistent) {
phar              413 ext/phar/phar_internal.h 		phar->ufp =  fp;
phar              417 ext/phar/phar_internal.h 	PHAR_GLOBALS->cached_fp[phar->phar_pos].ufp = fp;
phar              429 ext/phar/phar_internal.h 	data = &(PHAR_GLOBALS->cached_fp[entry->phar->phar_pos].manifest[entry->manifest_pos]);
phar              439 ext/phar/phar_internal.h 	return PHAR_GLOBALS->cached_fp[entry->phar->phar_pos].manifest[entry->manifest_pos].fp_type;
phar              447 ext/phar/phar_internal.h 	if (PHAR_GLOBALS->cached_fp[entry->phar->phar_pos].manifest[entry->manifest_pos].fp_type == PHAR_FP) {
phar              448 ext/phar/phar_internal.h 		if (!PHAR_GLOBALS->cached_fp[entry->phar->phar_pos].manifest[entry->manifest_pos].offset) {
phar              449 ext/phar/phar_internal.h 			PHAR_GLOBALS->cached_fp[entry->phar->phar_pos].manifest[entry->manifest_pos].offset = entry->offset;
phar              452 ext/phar/phar_internal.h 	return PHAR_GLOBALS->cached_fp[entry->phar->phar_pos].manifest[entry->manifest_pos].offset;
phar              468 ext/phar/phar_internal.h 	phar_archive_data        *phar;
phar              541 ext/phar/phar_internal.h 	tmp_len = MIN(MAXPATHLEN, entry->filename_len + entry->phar->fname_len);
phar              543 ext/phar/phar_internal.h 	len1 = MIN(entry->phar->fname_len, tmp_len);
phar              544 ext/phar/phar_internal.h 	memcpy(tmp, entry->phar->fname, len1);
phar              556 ext/phar/phar_internal.h void phar_destroy_phar_data(phar_archive_data *phar TSRMLS_DC);
phar              558 ext/phar/phar_internal.h int phar_open_entry_file(phar_archive_data *phar, phar_entry_info *entry, char **error TSRMLS_DC);
phar              564 ext/phar/phar_internal.h int phar_free_alias(phar_archive_data *phar, char *alias, int alias_len TSRMLS_DC);
phar              568 ext/phar/phar_internal.h int phar_create_signature(phar_archive_data *phar, php_stream *fp, char **signature, int *signature_length, char **error TSRMLS_DC);
phar              575 ext/phar/phar_internal.h void phar_remove_virtual_dirs(phar_archive_data *phar, char *filename, int filename_len TSRMLS_DC);
phar              576 ext/phar/phar_internal.h void phar_add_virtual_dirs(phar_archive_data *phar, char *filename, int filename_len TSRMLS_DC);
phar              577 ext/phar/phar_internal.h int phar_mount_entry(phar_archive_data *phar, char *filename, int filename_len, char *path, int path_len TSRMLS_DC);
phar              580 ext/phar/phar_internal.h phar_entry_info * phar_open_jit(phar_archive_data *phar, phar_entry_info *entry, char **error TSRMLS_DC);
phar              588 ext/phar/phar_internal.h int phar_create_writeable_entry(phar_archive_data *phar, phar_entry_info *entry, char **error TSRMLS_DC);
phar              590 ext/phar/phar_internal.h int phar_open_archive_fp(phar_archive_data *phar TSRMLS_DC);
phar              597 ext/phar/phar_internal.h int phar_tar_flush(phar_archive_data *phar, char *user_stub, long len, int defaultstub, char **error TSRMLS_DC);
phar              612 ext/phar/phar_internal.h int phar_archive_delref(phar_archive_data *phar TSRMLS_DC);
phar              615 ext/phar/phar_internal.h phar_entry_info *phar_get_entry_info(phar_archive_data *phar, char *path, int path_len, char **error, int security TSRMLS_DC);
phar              616 ext/phar/phar_internal.h phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, int path_len, char dir, char **error, int security TSRMLS_DC);
phar              165 ext/phar/phar_object.c static int phar_file_action(phar_archive_data *phar, phar_entry_info *info, char *mime_type, int code, char *entry, int entry_len, char *arch, char *basename, char *ru, int ru_len TSRMLS_DC) /* {{{ */
phar              216 ext/phar/phar_object.c 				if (!phar_open_jit(phar, info, &error TSRMLS_CC)) {
phar              348 ext/phar/phar_object.c static void phar_do_404(phar_archive_data *phar, char *fname, int fname_len, char *f404, int f404_len, char *entry, int entry_len TSRMLS_DC) /* {{{ */
phar              353 ext/phar/phar_object.c 	if (phar && f404_len) {
phar              354 ext/phar/phar_object.c 		info = phar_get_entry_info(phar, f404, f404_len, NULL, 1 TSRMLS_CC);
phar              357 ext/phar/phar_object.c 			phar_file_action(phar, info, "text/html", PHAR_MIME_PHP, f404, f404_len, fname, NULL, NULL, 0 TSRMLS_CC);
phar              572 ext/phar/phar_object.c 	phar_archive_data *phar = NULL;
phar              778 ext/phar/phar_object.c 		if (FAILURE == phar_get_archive(&phar, fname, fname_len, NULL, 0, NULL TSRMLS_CC) ||
phar              779 ext/phar/phar_object.c 			(info = phar_get_entry_info(phar, entry, entry_len, NULL, 0 TSRMLS_CC)) == NULL) {
phar              780 ext/phar/phar_object.c 			phar_do_404(phar, fname, fname_len, f404, f404_len, entry, entry_len TSRMLS_CC);
phar              824 ext/phar/phar_object.c 	if (FAILURE == phar_get_archive(&phar, fname, fname_len, NULL, 0, NULL TSRMLS_CC) ||
phar              825 ext/phar/phar_object.c 		(info = phar_get_entry_info(phar, entry, entry_len, NULL, 0 TSRMLS_CC)) == NULL) {
phar              826 ext/phar/phar_object.c 		phar_do_404(phar, fname, fname_len, f404, f404_len, entry, entry_len TSRMLS_CC);
phar              872 ext/phar/phar_object.c 	ret = phar_file_action(phar, info, mime_type, code, entry, entry_len, fname, pt, ru, ru_len TSRMLS_CC);
phar             1101 ext/phar/phar_object.c 	phar_archive_data *phar = (phar_archive_data *) object->oth;
phar             1103 ext/phar/phar_object.c 	if (!phar->is_persistent) {
phar             1104 ext/phar/phar_object.c 		phar_archive_delref(phar TSRMLS_CC);
phar             1327 ext/phar/phar_object.c 	phar_archive_data *phar;
phar             1338 ext/phar/phar_object.c 	if (FAILURE == phar_open_from_filename(fname, fname_len, NULL, 0, REPORT_ERRORS, &phar, &error TSRMLS_CC)) {
phar             1362 ext/phar/phar_object.c 	if (phar->is_persistent) {
phar             1367 ext/phar/phar_object.c 	if (phar->refcount) {
phar             1372 ext/phar/phar_object.c 	fname = estrndup(phar->fname, phar->fname_len);
phar             1378 ext/phar/phar_object.c 	phar_archive_delref(phar TSRMLS_CC);
phar             1985 ext/phar/phar_object.c 				"Cannot convert phar archive \"%s\", unable to open entry \"%s\" contents: %s", entry->phar->fname, entry->filename, error);
phar             1989 ext/phar/phar_object.c 				"Cannot convert phar archive \"%s\", unable to open entry \"%s\" contents", entry->phar->fname, entry->filename);
phar             2005 ext/phar/phar_object.c 			"Cannot convert phar archive \"%s\", unable to copy entry \"%s\" contents", entry->phar->fname, entry->filename);
phar             2025 ext/phar/phar_object.c 	phar_archive_data *phar = *sphar;
phar             2039 ext/phar/phar_object.c 		if (phar->is_zip) {
phar             2041 ext/phar/phar_object.c 			if (phar->is_data) {
phar             2047 ext/phar/phar_object.c 		} else if (phar->is_tar) {
phar             2049 ext/phar/phar_object.c 			switch (phar->flags) {
phar             2051 ext/phar/phar_object.c 					if (phar->is_data) {
phar             2058 ext/phar/phar_object.c 					if (phar->is_data) {
phar             2065 ext/phar/phar_object.c 					if (phar->is_data) {
phar             2073 ext/phar/phar_object.c 			switch (phar->flags) {
phar             2086 ext/phar/phar_object.c 		if (phar->is_data) {
phar             2087 ext/phar/phar_object.c 			zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, "data phar converted from \"%s\" has invalid extension %s", phar->fname, ext);
phar             2089 ext/phar/phar_object.c 			zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, "phar converted from \"%s\" has invalid extension %s", phar->fname, ext);
phar             2098 ext/phar/phar_object.c 	oldpath = estrndup(phar->fname, phar->fname_len);
phar             2099 ext/phar/phar_object.c 	oldname = zend_memrchr(phar->fname, '/', phar->fname_len);
phar             2110 ext/phar/phar_object.c 	phar->fname_len = spprintf(&newpath, 0, "%s%s", basepath, newname);
phar             2111 ext/phar/phar_object.c 	phar->fname = newpath;
phar             2112 ext/phar/phar_object.c 	phar->ext = newpath + phar->fname_len - strlen(ext) - 1;
phar             2116 ext/phar/phar_object.c 	if (PHAR_G(manifest_cached) && SUCCESS == zend_hash_find(&cached_phars, newpath, phar->fname_len, (void **) &pphar)) {
phar             2118 ext/phar/phar_object.c 		zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, "Unable to add newly converted phar \"%s\" to the list of phars, new phar name is in phar.cache_list", phar->fname);
phar             2122 ext/phar/phar_object.c 	if (SUCCESS == zend_hash_find(&(PHAR_GLOBALS->phar_fname_map), newpath, phar->fname_len, (void **) &pphar)) {
phar             2123 ext/phar/phar_object.c 		if ((*pphar)->fname_len == phar->fname_len && !memcmp((*pphar)->fname, phar->fname, phar->fname_len)) {
phar             2124 ext/phar/phar_object.c 			if (!zend_hash_num_elements(&phar->manifest)) {
phar             2125 ext/phar/phar_object.c 				(*pphar)->is_tar = phar->is_tar;
phar             2126 ext/phar/phar_object.c 				(*pphar)->is_zip = phar->is_zip;
phar             2127 ext/phar/phar_object.c 				(*pphar)->is_data = phar->is_data;
phar             2128 ext/phar/phar_object.c 				(*pphar)->flags = phar->flags;
phar             2129 ext/phar/phar_object.c 				(*pphar)->fp = phar->fp;
phar             2130 ext/phar/phar_object.c 				phar->fp = NULL;
phar             2131 ext/phar/phar_object.c 				phar_destroy_phar_data(phar TSRMLS_CC);
phar             2133 ext/phar/phar_object.c 				phar = *pphar;
phar             2135 ext/phar/phar_object.c 				phar->refcount++;
phar             2142 ext/phar/phar_object.c 		zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, "Unable to add newly converted phar \"%s\" to the list of phars, a phar with that name already exists", phar->fname);
phar             2151 ext/phar/phar_object.c 	if (!phar->is_data) {
phar             2152 ext/phar/phar_object.c 		if (SUCCESS != phar_detect_phar_fname_ext(newpath, phar->fname_len, (const char **) &(phar->ext), &(phar->ext_len), 1, 1, 1 TSRMLS_CC)) {
phar             2154 ext/phar/phar_object.c 			zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, "phar \"%s\" has invalid extension %s", phar->fname, ext);
phar             2158 ext/phar/phar_object.c 		if (phar->alias) {
phar             2159 ext/phar/phar_object.c 			if (phar->is_temporary_alias) {
phar             2160 ext/phar/phar_object.c 				phar->alias = NULL;
phar             2161 ext/phar/phar_object.c 				phar->alias_len = 0;
phar             2163 ext/phar/phar_object.c 				phar->alias = estrndup(newpath, strlen(newpath));
phar             2164 ext/phar/phar_object.c 				phar->alias_len = strlen(newpath);
phar             2165 ext/phar/phar_object.c 				phar->is_temporary_alias = 1;
phar             2166 ext/phar/phar_object.c 				zend_hash_update(&(PHAR_GLOBALS->phar_alias_map), newpath, phar->fname_len, (void*)&phar, sizeof(phar_archive_data*), NULL);
phar             2172 ext/phar/phar_object.c 		if (SUCCESS != phar_detect_phar_fname_ext(newpath, phar->fname_len, (const char **) &(phar->ext), &(phar->ext_len), 0, 1, 1 TSRMLS_CC)) {
phar             2174 ext/phar/phar_object.c 			zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, "data phar \"%s\" has invalid extension %s", phar->fname, ext);
phar             2178 ext/phar/phar_object.c 		phar->alias = NULL;
phar             2179 ext/phar/phar_object.c 		phar->alias_len = 0;
phar             2182 ext/phar/phar_object.c 	if ((!pphar || phar == *pphar) && SUCCESS != zend_hash_update(&(PHAR_GLOBALS->phar_fname_map), newpath, phar->fname_len, (void*)&phar, sizeof(phar_archive_data*), NULL)) {
phar             2184 ext/phar/phar_object.c 		zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, "Unable to add newly converted phar \"%s\" to the list of phars", phar->fname);
phar             2188 ext/phar/phar_object.c 	phar_flush(phar, 0, 0, 1, &error TSRMLS_CC);
phar             2199 ext/phar/phar_object.c 	if (phar->is_data) {
phar             2209 ext/phar/phar_object.c 		zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, "Unable to instantiate phar object when converting archive \"%s\"", phar->fname);
phar             2214 ext/phar/phar_object.c 	ZVAL_STRINGL(&arg1, phar->fname, phar->fname_len, 0);
phar             2223 ext/phar/phar_object.c 	phar_archive_data *phar;
phar             2231 ext/phar/phar_object.c 	phar = (phar_archive_data *) ecalloc(1, sizeof(phar_archive_data));
phar             2233 ext/phar/phar_object.c 	phar->flags = flags;
phar             2234 ext/phar/phar_object.c 	phar->is_data = source->is_data;
phar             2238 ext/phar/phar_object.c 			phar->is_tar = 1;
phar             2241 ext/phar/phar_object.c 			phar->is_zip = 1;
phar             2244 ext/phar/phar_object.c 			phar->is_data = 0;
phar             2248 ext/phar/phar_object.c 	zend_hash_init(&(phar->manifest), sizeof(phar_entry_info),
phar             2250 ext/phar/phar_object.c 	zend_hash_init(&phar->mounted_dirs, sizeof(char *),
phar             2252 ext/phar/phar_object.c 	zend_hash_init(&phar->virtual_dirs, sizeof(char *),
phar             2255 ext/phar/phar_object.c 	phar->fp = php_stream_fopen_tmpfile();
phar             2256 ext/phar/phar_object.c 	if (phar->fp == NULL) {
phar             2260 ext/phar/phar_object.c 	phar->fname = source->fname;
phar             2261 ext/phar/phar_object.c 	phar->fname_len = source->fname_len;
phar             2262 ext/phar/phar_object.c 	phar->is_temporary_alias = source->is_temporary_alias;
phar             2263 ext/phar/phar_object.c 	phar->alias = source->alias;
phar             2269 ext/phar/phar_object.c 		ALLOC_ZVAL(phar->metadata);
phar             2270 ext/phar/phar_object.c 		*phar->metadata = *t;
phar             2271 ext/phar/phar_object.c 		zval_copy_ctor(phar->metadata);
phar             2272 ext/phar/phar_object.c 		Z_SET_REFCOUNT_P(phar->metadata, 1);
phar             2274 ext/phar/phar_object.c 		phar->metadata_len = 0;
phar             2281 ext/phar/phar_object.c 			zend_hash_destroy(&(phar->manifest));
phar             2282 ext/phar/phar_object.c 			php_stream_close(phar->fp);
phar             2283 ext/phar/phar_object.c 			efree(phar);
phar             2303 ext/phar/phar_object.c 		if (FAILURE == phar_copy_file_contents(&newentry, phar->fp TSRMLS_CC)) {
phar             2304 ext/phar/phar_object.c 			zend_hash_destroy(&(phar->manifest));
phar             2305 ext/phar/phar_object.c 			php_stream_close(phar->fp);
phar             2306 ext/phar/phar_object.c 			efree(phar);
phar             2326 ext/phar/phar_object.c 		newentry.is_zip = phar->is_zip;
phar             2327 ext/phar/phar_object.c 		newentry.is_tar = phar->is_tar;
phar             2334 ext/phar/phar_object.c 		newentry.phar = phar;
phar             2337 ext/phar/phar_object.c 		zend_hash_add(&(phar->manifest), newentry.filename, newentry.filename_len, (void*)&newentry, sizeof(phar_entry_info), NULL);
phar             2338 ext/phar/phar_object.c 		phar_add_virtual_dirs(phar, newentry.filename, newentry.filename_len TSRMLS_CC);
phar             2341 ext/phar/phar_object.c 	if ((ret = phar_rename_archive(&phar, ext, 0 TSRMLS_CC))) {
phar             2344 ext/phar/phar_object.c 		if(phar != NULL) {
phar             2345 ext/phar/phar_object.c 			zend_hash_destroy(&(phar->manifest));
phar             2346 ext/phar/phar_object.c 			zend_hash_destroy(&(phar->mounted_dirs));
phar             2347 ext/phar/phar_object.c 			zend_hash_destroy(&(phar->virtual_dirs));
phar             2348 ext/phar/phar_object.c 			if (phar->fp) {
phar             2349 ext/phar/phar_object.c 				php_stream_close(phar->fp);
phar             2351 ext/phar/phar_object.c 			efree(phar->fname);
phar             2352 ext/phar/phar_object.c 			efree(phar);
phar             3527 ext/phar/phar_object.c 	zend_hash_add(&oldentry->phar->manifest, newfile, newfile_len, (void*)&newentry, sizeof(phar_entry_info), NULL);
phar             3671 ext/phar/phar_object.c 		if (pphar[0] != data->phar) {
phar             3672 ext/phar/phar_object.c 			*pphar = data->phar;
phar             3707 ext/phar/phar_object.c 		if (data->phar != *pphar) {
phar             3708 ext/phar/phar_object.c 			*pphar = data->phar;
phar             4416 ext/phar/phar_object.c 		phar_archive_data *phar;
phar             4418 ext/phar/phar_object.c 		phar = phar_obj->arc.archive;
phar             4420 ext/phar/phar_object.c 		if (!zend_hash_num_elements(&(phar->manifest))) {
phar             4424 ext/phar/phar_object.c 		for (zend_hash_internal_pointer_reset(&phar->manifest);
phar             4425 ext/phar/phar_object.c 		zend_hash_has_more_elements(&phar->manifest) == SUCCESS;
phar             4426 ext/phar/phar_object.c 		zend_hash_move_forward(&phar->manifest)) {
phar             4428 ext/phar/phar_object.c 			if (zend_hash_get_current_data(&phar->manifest, (void **)&entry) == FAILURE) {
phar             4434 ext/phar/phar_object.c 					"Extraction from phar \"%s\" failed: %s", phar->fname, error);
phar             4649 ext/phar/phar_object.c 	if (PHAR_G(readonly) && !entry_obj->ent.entry->phar->is_data) {
phar             4650 ext/phar/phar_object.c 		zend_throw_exception_ex(phar_ce_PharException, 0 TSRMLS_CC, "Cannot modify permissions for file \"%s\" in phar \"%s\", write operations are prohibited", entry_obj->ent.entry->filename, entry_obj->ent.entry->phar->fname);
phar             4659 ext/phar/phar_object.c 		phar_archive_data *phar = entry_obj->ent.entry->phar;
phar             4661 ext/phar/phar_object.c 		if (FAILURE == phar_copy_on_write(&phar TSRMLS_CC)) {
phar             4662 ext/phar/phar_object.c 			zend_throw_exception_ex(phar_ce_PharException, 0 TSRMLS_CC, "phar \"%s\" is persistent, unable to copy on write", phar->fname);
phar             4666 ext/phar/phar_object.c 		zend_hash_find(&phar->manifest, entry_obj->ent.entry->filename, entry_obj->ent.entry->filename_len, (void **)&entry_obj->ent.entry);
phar             4673 ext/phar/phar_object.c 	entry_obj->ent.entry->phar->is_modified = 1;
phar             4688 ext/phar/phar_object.c 	phar_flush(entry_obj->ent.entry->phar, 0, 0, 0, &error TSRMLS_CC);
phar             4747 ext/phar/phar_object.c 	if (PHAR_G(readonly) && !entry_obj->ent.entry->phar->is_data) {
phar             4763 ext/phar/phar_object.c 		phar_archive_data *phar = entry_obj->ent.entry->phar;
phar             4765 ext/phar/phar_object.c 		if (FAILURE == phar_copy_on_write(&phar TSRMLS_CC)) {
phar             4766 ext/phar/phar_object.c 			zend_throw_exception_ex(phar_ce_PharException, 0 TSRMLS_CC, "phar \"%s\" is persistent, unable to copy on write", phar->fname);
phar             4770 ext/phar/phar_object.c 		zend_hash_find(&phar->manifest, entry_obj->ent.entry->filename, entry_obj->ent.entry->filename_len, (void **)&entry_obj->ent.entry);
phar             4781 ext/phar/phar_object.c 	entry_obj->ent.entry->phar->is_modified = 1;
phar             4782 ext/phar/phar_object.c 	phar_flush(entry_obj->ent.entry->phar, 0, 0, 0, &error TSRMLS_CC);
phar             4804 ext/phar/phar_object.c 	if (PHAR_G(readonly) && !entry_obj->ent.entry->phar->is_data) {
phar             4817 ext/phar/phar_object.c 			phar_archive_data *phar = entry_obj->ent.entry->phar;
phar             4819 ext/phar/phar_object.c 			if (FAILURE == phar_copy_on_write(&phar TSRMLS_CC)) {
phar             4820 ext/phar/phar_object.c 				zend_throw_exception_ex(phar_ce_PharException, 0 TSRMLS_CC, "phar \"%s\" is persistent, unable to copy on write", phar->fname);
phar             4824 ext/phar/phar_object.c 			zend_hash_find(&phar->manifest, entry_obj->ent.entry->filename, entry_obj->ent.entry->filename_len, (void **)&entry_obj->ent.entry);
phar             4829 ext/phar/phar_object.c 		entry_obj->ent.entry->phar->is_modified = 1;
phar             4831 ext/phar/phar_object.c 		phar_flush(entry_obj->ent.entry->phar, 0, 0, 0, &error TSRMLS_CC);
phar             4864 ext/phar/phar_object.c 			"Phar error: Cannot retrieve contents, \"%s\" in phar \"%s\" is a directory", entry_obj->ent.entry->filename, entry_obj->ent.entry->phar->fname);
phar             4876 ext/phar/phar_object.c 			"Phar error: Cannot retrieve contents, \"%s\" in phar \"%s\": %s", entry_obj->ent.entry->filename, entry_obj->ent.entry->phar->fname, error);
phar             4883 ext/phar/phar_object.c 			"Phar error: Cannot retrieve contents of \"%s\" in phar \"%s\"", entry_obj->ent.entry->filename, entry_obj->ent.entry->phar->fname);
phar             4923 ext/phar/phar_object.c 	if (PHAR_G(readonly) && !entry_obj->ent.entry->phar->is_data) {
phar             4936 ext/phar/phar_object.c 		phar_archive_data *phar = entry_obj->ent.entry->phar;
phar             4938 ext/phar/phar_object.c 		if (FAILURE == phar_copy_on_write(&phar TSRMLS_CC)) {
phar             4939 ext/phar/phar_object.c 			zend_throw_exception_ex(phar_ce_PharException, 0 TSRMLS_CC, "phar \"%s\" is persistent, unable to copy on write", phar->fname);
phar             4943 ext/phar/phar_object.c 		zend_hash_find(&phar->manifest, entry_obj->ent.entry->filename, entry_obj->ent.entry->filename_len, (void **)&entry_obj->ent.entry);
phar             4961 ext/phar/phar_object.c 						"Phar error: Cannot decompress bzip2-compressed file \"%s\" in phar \"%s\" in order to compress with gzip: %s", entry_obj->ent.entry->filename, entry_obj->ent.entry->phar->fname, error);
phar             4992 ext/phar/phar_object.c 						"Phar error: Cannot decompress gzip-compressed file \"%s\" in phar \"%s\" in order to compress with bzip2: %s", entry_obj->ent.entry->filename, entry_obj->ent.entry->phar->fname, error);
phar             5012 ext/phar/phar_object.c 	entry_obj->ent.entry->phar->is_modified = 1;
phar             5014 ext/phar/phar_object.c 	phar_flush(entry_obj->ent.entry->phar, 0, 0, 0, &error TSRMLS_CC);
phar             5047 ext/phar/phar_object.c 	if (PHAR_G(readonly) && !entry_obj->ent.entry->phar->is_data) {
phar             5072 ext/phar/phar_object.c 		phar_archive_data *phar = entry_obj->ent.entry->phar;
phar             5074 ext/phar/phar_object.c 		if (FAILURE == phar_copy_on_write(&phar TSRMLS_CC)) {
phar             5075 ext/phar/phar_object.c 			zend_throw_exception_ex(phar_ce_PharException, 0 TSRMLS_CC, "phar \"%s\" is persistent, unable to copy on write", phar->fname);
phar             5079 ext/phar/phar_object.c 		zend_hash_find(&phar->manifest, entry_obj->ent.entry->filename, entry_obj->ent.entry->filename_len, (void **)&entry_obj->ent.entry);
phar             5082 ext/phar/phar_object.c 		if (FAILURE == phar_open_archive_fp(entry_obj->ent.entry->phar TSRMLS_CC)) {
phar             5083 ext/phar/phar_object.c 			zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, "Cannot decompress entry \"%s\", phar error: Cannot open phar archive \"%s\" for reading", entry_obj->ent.entry->filename, entry_obj->ent.entry->phar->fname);
phar             5091 ext/phar/phar_object.c 	entry_obj->ent.entry->phar->is_modified = 1;
phar             5093 ext/phar/phar_object.c 	phar_flush(entry_obj->ent.entry->phar, 0, 0, 0, &error TSRMLS_CC);
phar              104 ext/phar/stream.c 		phar_archive_data **pphar = NULL, *phar;
phar              116 ext/phar/stream.c 		if (phar_open_or_create_filename(resource->host, arch_len, NULL, 0, 0, options, &phar, &error TSRMLS_CC) == FAILURE)
phar              127 ext/phar/stream.c 		if (phar->is_persistent && FAILURE == phar_copy_on_write(&phar TSRMLS_CC)) {
phar              160 ext/phar/stream.c 	phar_archive_data *phar;
phar              231 ext/phar/stream.c 				idata->phar->is_modified = 1;
phar              235 ext/phar/stream.c 			spprintf(opened_path, MAXPATHLEN, "phar://%s/%s", idata->phar->fname, idata->internal_file->filename);
phar              241 ext/phar/stream.c 			if (FAILURE == phar_get_archive(&phar, resource->host, host_len, NULL, 0, NULL TSRMLS_CC)) {
phar              247 ext/phar/stream.c 			if (phar->is_tar || phar->is_zip) {
phar              253 ext/phar/stream.c 					spprintf(opened_path, MAXPATHLEN, "%s", phar->fname);
phar              264 ext/phar/stream.c 				entry->phar = phar;
phar              266 ext/phar/stream.c 				entry->compressed_filesize = entry->uncompressed_filesize = phar->halt_offset;
phar              270 ext/phar/stream.c 				idata->fp = phar_get_pharfp(phar TSRMLS_CC);
phar              271 ext/phar/stream.c 				idata->phar = phar;
phar              273 ext/phar/stream.c 				if (!phar->is_persistent) {
phar              274 ext/phar/stream.c 					++(entry->phar->refcount);
phar              279 ext/phar/stream.c 					spprintf(opened_path, MAXPATHLEN, "%s", phar->fname);
phar              301 ext/phar/stream.c 		fprintf(stderr, "Pharname:   %s\n", idata->phar->filename);
phar              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)) {
phar              336 ext/phar/stream.c 		spprintf(opened_path, MAXPATHLEN, "phar://%s/%s", idata->phar->fname, idata->internal_file->filename);
phar              440 ext/phar/stream.c 		php_stream_wrapper_log_error(stream->wrapper, stream->flags TSRMLS_CC, "phar error: Could not write %d characters to \"%s\" in phar \"%s\"", (int) count, data->internal_file->filename, data->phar->fname);
phar              465 ext/phar/stream.c 		ret = phar_flush(data->phar, 0, 0, 0, &error TSRMLS_CC);
phar              481 ext/phar/stream.c void phar_dostat(phar_archive_data *phar, phar_entry_info *data, php_stream_statbuf *ssb, zend_bool is_temp_dir TSRMLS_DC)
phar              518 ext/phar/stream.c 		ssb->sb.st_mtime.tv_sec = phar->max_timestamp;
phar              519 ext/phar/stream.c 		ssb->sb.st_atime.tv_sec = phar->max_timestamp;
phar              520 ext/phar/stream.c 		ssb->sb.st_ctime.tv_sec = phar->max_timestamp;
phar              522 ext/phar/stream.c 		ssb->sb.st_mtime = phar->max_timestamp;
phar              523 ext/phar/stream.c 		ssb->sb.st_atime = phar->max_timestamp;
phar              524 ext/phar/stream.c 		ssb->sb.st_ctime = phar->max_timestamp;
phar              527 ext/phar/stream.c 	if (!phar->is_writeable) {
phar              558 ext/phar/stream.c 	phar_dostat(data->phar, data->internal_file, ssb, 0 TSRMLS_CC);
phar              571 ext/phar/stream.c 	phar_archive_data *phar;
phar              596 ext/phar/stream.c 	if (FAILURE == phar_get_archive(&phar, resource->host, host_len, NULL, 0, &error TSRMLS_CC)) {
phar              608 ext/phar/stream.c 		phar_dostat(phar, NULL, ssb, 1 TSRMLS_CC);
phar              612 ext/phar/stream.c 	if (!phar->manifest.arBuckets) {
phar              618 ext/phar/stream.c 	if (SUCCESS == zend_hash_find(&phar->manifest, internal_file, internal_file_len, (void**)&entry)) {
phar              619 ext/phar/stream.c 		phar_dostat(phar, entry, ssb, 0 TSRMLS_CC);
phar              623 ext/phar/stream.c 	if (zend_hash_exists(&(phar->virtual_dirs), internal_file, internal_file_len)) {
phar              624 ext/phar/stream.c 		phar_dostat(phar, NULL, ssb, 1 TSRMLS_CC);
phar              629 ext/phar/stream.c 	if (phar->mounted_dirs.arBuckets && zend_hash_num_elements(&phar->mounted_dirs)) {
phar              635 ext/phar/stream.c 		for (zend_hash_internal_pointer_reset_ex(&phar->mounted_dirs, &pos);
phar              636 ext/phar/stream.c 			HASH_KEY_NON_EXISTENT != zend_hash_get_current_key_ex(&phar->mounted_dirs, &str_key, &keylen, &unused, 0, &pos);
phar              637 ext/phar/stream.c 			zend_hash_move_forward_ex(&phar->mounted_dirs, &pos)
phar              646 ext/phar/stream.c 				if (SUCCESS != zend_hash_find(&phar->manifest, str_key, keylen, (void **) &entry)) {
phar              658 ext/phar/stream.c 				if (SUCCESS != phar_mount_entry(phar, test, test_len, internal_file, internal_file_len TSRMLS_CC)) {
phar              663 ext/phar/stream.c 				if (SUCCESS != zend_hash_find(&phar->manifest, internal_file, internal_file_len, (void**)&entry)) {
phar              666 ext/phar/stream.c 				phar_dostat(phar, entry, ssb, 0 TSRMLS_CC);
phar              761 ext/phar/stream.c 	phar_archive_data *phar, *pfrom, *pto;
phar              840 ext/phar/stream.c 	if (SUCCESS != phar_get_archive(&phar, resource_from->host, host_len, NULL, 0, &error TSRMLS_CC)) {
phar              848 ext/phar/stream.c 	if (phar->is_persistent && FAILURE == phar_copy_on_write(&phar TSRMLS_CC)) {
phar              855 ext/phar/stream.c 	if (SUCCESS == zend_hash_find(&(phar->manifest), resource_from->path+1, strlen(resource_from->path)-1, (void **)&entry)) {
phar              875 ext/phar/stream.c 		zend_hash_add(&(phar->manifest), resource_to->path+1, strlen(resource_to->path)-1, (void **)&new, sizeof(phar_entry_info), (void **) &entry);
phar              883 ext/phar/stream.c 			zend_hash_del(&(phar->manifest), entry->filename, strlen(entry->filename));
phar              891 ext/phar/stream.c 		is_dir = zend_hash_exists(&(phar->virtual_dirs), resource_from->path+1, strlen(resource_from->path)-1);
phar              911 ext/phar/stream.c 		for (zend_hash_internal_pointer_reset(&phar->manifest);
phar              912 ext/phar/stream.c 			HASH_KEY_NON_EXISTENT != (key_type = zend_hash_get_current_key_ex(&phar->manifest, &str_key, &key_len, &unused, 0, NULL)) &&
phar              913 ext/phar/stream.c 			SUCCESS == zend_hash_get_current_data(&phar->manifest, (void **) &entry);
phar              914 ext/phar/stream.c 			zend_hash_move_forward(&phar->manifest)
phar              933 ext/phar/stream.c 				zend_hash_update_current_key_ex(&phar->manifest, key_type, new_str_key, new_key_len, 0, HASH_UPDATE_KEY_ANYWAY, NULL);
phar              937 ext/phar/stream.c 		for (zend_hash_internal_pointer_reset(&phar->virtual_dirs);
phar              938 ext/phar/stream.c 			HASH_KEY_NON_EXISTENT != (key_type = zend_hash_get_current_key_ex(&phar->virtual_dirs, &str_key, &key_len, &unused, 0, NULL));
phar              939 ext/phar/stream.c 			zend_hash_move_forward(&phar->virtual_dirs)
phar              951 ext/phar/stream.c 				zend_hash_update_current_key_ex(&phar->virtual_dirs, key_type, new_str_key, new_key_len, 0, HASH_UPDATE_KEY_ANYWAY, NULL);
phar              956 ext/phar/stream.c 		for (zend_hash_internal_pointer_reset(&phar->mounted_dirs);
phar              957 ext/phar/stream.c 			HASH_KEY_NON_EXISTENT != (key_type = zend_hash_get_current_key_ex(&phar->mounted_dirs, &str_key, &key_len, &unused, 0, NULL)) &&
phar              958 ext/phar/stream.c 			SUCCESS == zend_hash_get_current_data(&phar->mounted_dirs, (void **) &entry);
phar              959 ext/phar/stream.c 			zend_hash_move_forward(&phar->mounted_dirs)
phar              971 ext/phar/stream.c 				zend_hash_update_current_key_ex(&phar->mounted_dirs, key_type, new_str_key, new_key_len, 0, HASH_UPDATE_KEY_ANYWAY, NULL);
phar              978 ext/phar/stream.c 		phar_flush(phar, 0, 0, 0, &error TSRMLS_CC);
phar              129 ext/phar/tar.c 	phar_archive_data *phar;
phar              130 ext/phar/tar.c 	int ret = phar_create_or_parse_filename(fname, fname_len, alias, alias_len, is_data, options, &phar, error TSRMLS_CC);
phar              137 ext/phar/tar.c 		*pphar = phar;
phar              140 ext/phar/tar.c 	phar->is_data = is_data;
phar              142 ext/phar/tar.c 	if (phar->is_tar) {
phar              146 ext/phar/tar.c 	if (phar->is_brandnew) {
phar              147 ext/phar/tar.c 		phar->is_tar = 1;
phar              148 ext/phar/tar.c 		phar->is_zip = 0;
phar              149 ext/phar/tar.c 		phar->internal_file_start = 0;
phar              184 ext/phar/tar.c 		entry->phar->metadata = entry->metadata;
phar              186 ext/phar/tar.c 	} else if (entry->filename_len >= sizeof(".phar/.metadata/") + sizeof("/.metadata.bin") - 1 && SUCCESS == zend_hash_find(&(entry->phar->manifest), entry->filename + sizeof(".phar/.metadata/") - 1, entry->filename_len - (sizeof("/.metadata.bin") - 1 + sizeof(".phar/.metadata/") - 1), (void *)&mentry)) {
phar              251 ext/phar/tar.c 	entry.phar = myphar;
phar              721 ext/phar/tar.c 	phar_add_virtual_dirs(entry->phar, entry->filename, entry->filename_len TSRMLS_CC);
phar              728 ext/phar/tar.c 				spprintf(fp->error, 4096, "tar-based phar \"%s\" cannot be created, filename \"%s\" is too long for tar file format", entry->phar->fname, entry->filename);
phar              738 ext/phar/tar.c 				spprintf(fp->error, 4096, "tar-based phar \"%s\" cannot be created, filename \"%s\" is too long for tar file format", entry->phar->fname, entry->filename);
phar              752 ext/phar/tar.c 			spprintf(fp->error, 4096, "tar-based phar \"%s\" cannot be created, filename \"%s\" is too large for tar file format", entry->phar->fname, entry->filename);
phar              759 ext/phar/tar.c 			spprintf(fp->error, 4096, "tar-based phar \"%s\" cannot be created, file modification time of file \"%s\" is too large for tar file format", entry->phar->fname, entry->filename);
phar              778 ext/phar/tar.c 			spprintf(fp->error, 4096, "tar-based phar \"%s\" cannot be created, checksum of file \"%s\" is too large for tar file format", entry->phar->fname, entry->filename);
phar              788 ext/phar/tar.c 			spprintf(fp->error, 4096, "tar-based phar \"%s\" cannot be created, header for  file \"%s\" could not be written", entry->phar->fname, entry->filename);
phar              803 ext/phar/tar.c 				spprintf(fp->error, 4096, "tar-based phar \"%s\" cannot be created, contents of file \"%s\" could not be written, seek failed", entry->phar->fname, entry->filename);
phar              810 ext/phar/tar.c 				spprintf(fp->error, 4096, "tar-based phar \"%s\" cannot be created, contents of file \"%s\" could not be written", entry->phar->fname, entry->filename);
phar              834 ext/phar/tar.c 	if (entry->fp_type == PHAR_MOD && entry->fp != entry->phar->fp && entry->fp != entry->phar->ufp) {
phar              878 ext/phar/tar.c 		zend_hash_del(&(entry->phar->manifest), entry->filename, entry->filename_len);
phar              895 ext/phar/tar.c 			if (entry->phar->metadata == NULL) {
phar              898 ext/phar/tar.c 			return phar_tar_setmetadata(entry->phar->metadata, entry, error TSRMLS_CC);
phar              901 ext/phar/tar.c 		if (entry->filename_len >= sizeof(".phar/.metadata/") + sizeof("/.metadata.bin") - 1 && !zend_hash_exists(&(entry->phar->manifest), entry->filename + sizeof(".phar/.metadata/") - 1, entry->filename_len - (sizeof("/.metadata.bin") - 1 + sizeof(".phar/.metadata/") - 1))) {
phar              917 ext/phar/tar.c 		zend_hash_del(&(entry->phar->manifest), lookfor, lookfor_len);
phar              922 ext/phar/tar.c 	if (SUCCESS == zend_hash_find(&(entry->phar->manifest), lookfor, lookfor_len, (void **)&metadata)) {
phar              931 ext/phar/tar.c 	newentry.phar = entry->phar;
phar              935 ext/phar/tar.c 	if (SUCCESS != zend_hash_add(&(entry->phar->manifest), lookfor, lookfor_len, (void *)&newentry, sizeof(phar_entry_info), (void **)&metadata)) {
phar              945 ext/phar/tar.c int phar_tar_flush(phar_archive_data *phar, char *user_stub, long len, int defaultstub, char **error TSRMLS_DC) /* {{{ */
phar              961 ext/phar/tar.c 	entry.phar = phar;
phar              964 ext/phar/tar.c 	if (phar->is_persistent) {
phar              966 ext/phar/tar.c 			spprintf(error, 0, "internal error: attempt to flush cached tar-based phar \"%s\"", phar->fname);
phar              971 ext/phar/tar.c 	if (phar->is_data) {
phar              976 ext/phar/tar.c 	if (!phar->is_temporary_alias && phar->alias_len) {
phar              984 ext/phar/tar.c 		if (phar->alias_len != (int)php_stream_write(entry.fp, phar->alias, phar->alias_len)) {
phar              986 ext/phar/tar.c 				spprintf(error, 0, "unable to set alias in tar-based phar \"%s\"", phar->fname);
phar              991 ext/phar/tar.c 		entry.uncompressed_filesize = phar->alias_len;
phar              993 ext/phar/tar.c 		if (SUCCESS != zend_hash_update(&phar->manifest, entry.filename, entry.filename_len, (void*)&entry, sizeof(phar_entry_info), NULL)) {
phar              995 ext/phar/tar.c 				spprintf(error, 0, "unable to set alias in tar-based phar \"%s\"", phar->fname);
phar             1000 ext/phar/tar.c 		zend_hash_del(&phar->manifest, ".phar/alias.txt", sizeof(".phar/alias.txt")-1);
phar             1010 ext/phar/tar.c 					spprintf(error, 0, "unable to access resource to copy stub to new tar-based phar \"%s\"", phar->fname);
phar             1023 ext/phar/tar.c 					spprintf(error, 0, "unable to read resource to copy stub to new tar-based phar \"%s\"", phar->fname);
phar             1036 ext/phar/tar.c 				spprintf(error, 0, "illegal stub for tar-based phar \"%s\"", phar->fname);
phar             1057 ext/phar/tar.c 				spprintf(error, 0, "unable to create stub from string in new tar-based phar \"%s\"", phar->fname);
phar             1068 ext/phar/tar.c 		zend_hash_update(&phar->manifest, entry.filename, entry.filename_len, (void*)&entry, sizeof(phar_entry_info), NULL);
phar             1083 ext/phar/tar.c 				spprintf(error, 0, "unable to %s stub in%star-based phar \"%s\", failed", user_stub ? "overwrite" : "create", user_stub ? " " : " new ", phar->fname);
phar             1093 ext/phar/tar.c 			if (!zend_hash_exists(&phar->manifest, ".phar/stub.php", sizeof(".phar/stub.php")-1)) {
phar             1094 ext/phar/tar.c 				if (SUCCESS != zend_hash_add(&phar->manifest, entry.filename, entry.filename_len, (void*)&entry, sizeof(phar_entry_info), NULL)) {
phar             1098 ext/phar/tar.c 						spprintf(error, 0, "unable to create stub in tar-based phar \"%s\"", phar->fname);
phar             1107 ext/phar/tar.c 			if (SUCCESS != zend_hash_update(&phar->manifest, entry.filename, entry.filename_len, (void*)&entry, sizeof(phar_entry_info), NULL)) {
phar             1111 ext/phar/tar.c 					spprintf(error, 0, "unable to overwrite stub in tar-based phar \"%s\"", phar->fname);
phar             1118 ext/phar/tar.c 	if (phar->fp && !phar->is_brandnew) {
phar             1119 ext/phar/tar.c 		oldfile = phar->fp;
phar             1123 ext/phar/tar.c 		oldfile = php_stream_open_wrapper(phar->fname, "rb", 0, NULL);
phar             1144 ext/phar/tar.c 	if (phar->metadata) {
phar             1146 ext/phar/tar.c 		if (SUCCESS == zend_hash_find(&(phar->manifest), ".phar/.metadata.bin", sizeof(".phar/.metadata.bin")-1, (void **)&mentry)) {
phar             1147 ext/phar/tar.c 			if (ZEND_HASH_APPLY_KEEP != phar_tar_setmetadata(phar->metadata, mentry, error TSRMLS_CC)) {
phar             1158 ext/phar/tar.c 			newentry.phar = phar;
phar             1162 ext/phar/tar.c 			if (SUCCESS != zend_hash_add(&(phar->manifest), ".phar/.metadata.bin", sizeof(".phar/.metadata.bin")-1, (void *)&newentry, sizeof(phar_entry_info), (void **)&mentry)) {
phar             1163 ext/phar/tar.c 				spprintf(error, 0, "phar tar error: unable to add magic metadata file to manifest for phar archive \"%s\"", phar->fname);
phar             1170 ext/phar/tar.c 			if (ZEND_HASH_APPLY_KEEP != phar_tar_setmetadata(phar->metadata, mentry, error TSRMLS_CC)) {
phar             1171 ext/phar/tar.c 				zend_hash_del(&(phar->manifest), ".phar/.metadata.bin", sizeof(".phar/.metadata.bin")-1);
phar             1180 ext/phar/tar.c 	zend_hash_apply_with_argument(&phar->manifest, (apply_func_arg_t) phar_tar_setupmetadata, (void *) &pass TSRMLS_CC);
phar             1192 ext/phar/tar.c 	zend_hash_apply_with_argument(&phar->manifest, (apply_func_arg_t) phar_tar_writeheaders, (void *) &pass TSRMLS_CC);
phar             1195 ext/phar/tar.c 	if (!phar->is_data || phar->sig_flags) {
phar             1196 ext/phar/tar.c 		if (FAILURE == phar_create_signature(phar, newfile, &signature, &signature_length, error TSRMLS_CC)) {
phar             1227 ext/phar/tar.c 		PHAR_SET_32(sigbuf, phar->sig_flags);
phar             1233 ext/phar/tar.c 				spprintf(error, 0, "phar error: unable to write signature to tar-based phar %s", phar->fname);
phar             1273 ext/phar/tar.c 	if (phar->fp && pass.free_fp) {
phar             1274 ext/phar/tar.c 		php_stream_close(phar->fp);
phar             1277 ext/phar/tar.c 	if (phar->ufp) {
phar             1279 ext/phar/tar.c 			php_stream_close(phar->ufp);
phar             1281 ext/phar/tar.c 		phar->ufp = NULL;
phar             1284 ext/phar/tar.c 	phar->is_brandnew = 0;
phar             1287 ext/phar/tar.c 	if (phar->donotflush) {
phar             1289 ext/phar/tar.c 		phar->fp = newfile;
phar             1291 ext/phar/tar.c 		phar->fp = php_stream_open_wrapper(phar->fname, "w+b", IGNORE_URL|STREAM_MUST_SEEK|REPORT_ERRORS, NULL);
phar             1292 ext/phar/tar.c 		if (!phar->fp) {
phar             1293 ext/phar/tar.c 			phar->fp = newfile;
phar             1295 ext/phar/tar.c 				spprintf(error, 0, "unable to open new phar \"%s\" for writing", phar->fname);
phar             1300 ext/phar/tar.c 		if (phar->flags & PHAR_FILE_COMPRESSED_GZ) {
phar             1311 ext/phar/tar.c 			filter = php_stream_filter_create("zlib.deflate", &filterparams, php_stream_is_persistent(phar->fp) TSRMLS_CC);
phar             1316 ext/phar/tar.c 				php_stream_copy_to_stream_ex(newfile, phar->fp, PHP_STREAM_COPY_ALL, NULL);
phar             1319 ext/phar/tar.c 					spprintf(error, 4096, "unable to compress all contents of phar \"%s\" using zlib, PHP versions older than 5.2.6 have a buggy zlib", phar->fname);
phar             1324 ext/phar/tar.c 			php_stream_filter_append(&phar->fp->writefilters, filter);
phar             1325 ext/phar/tar.c 			php_stream_copy_to_stream_ex(newfile, phar->fp, PHP_STREAM_COPY_ALL, NULL);
phar             1328 ext/phar/tar.c 			php_stream_close(phar->fp);
phar             1330 ext/phar/tar.c 			phar->fp = newfile;
phar             1331 ext/phar/tar.c 		} else if (phar->flags & PHAR_FILE_COMPRESSED_BZ2) {
phar             1334 ext/phar/tar.c 			filter = php_stream_filter_create("bzip2.compress", NULL, php_stream_is_persistent(phar->fp) TSRMLS_CC);
phar             1335 ext/phar/tar.c 			php_stream_filter_append(&phar->fp->writefilters, filter);
phar             1336 ext/phar/tar.c 			php_stream_copy_to_stream_ex(newfile, phar->fp, PHP_STREAM_COPY_ALL, NULL);
phar             1339 ext/phar/tar.c 			php_stream_close(phar->fp);
phar             1341 ext/phar/tar.c 			phar->fp = newfile;
phar             1343 ext/phar/tar.c 			php_stream_copy_to_stream_ex(newfile, phar->fp, PHP_STREAM_COPY_ALL, NULL);
phar               74 ext/phar/util.c 	if (SUCCESS == zend_hash_find(&(entry->phar->manifest), entry->link, strlen(entry->link), (void **)&link_entry) ||
phar               75 ext/phar/util.c 		SUCCESS == zend_hash_find(&(entry->phar->manifest), link, strlen(link), (void **)&link_entry)) {
phar              103 ext/phar/util.c 			phar_open_archive_fp(entry->phar TSRMLS_CC);
phar              170 ext/phar/util.c int phar_mount_entry(phar_archive_data *phar, char *filename, int filename_len, char *path, int path_len TSRMLS_DC) /* {{{ */
phar              188 ext/phar/util.c 	entry.phar = phar;
phar              230 ext/phar/util.c 		if (SUCCESS != zend_hash_add(&phar->mounted_dirs, entry.filename, path_len, (void *)&(entry.filename), sizeof(char *), NULL)) {
phar              243 ext/phar/util.c 	if (SUCCESS == zend_hash_add(&phar->manifest, entry.filename, path_len, (void*)&entry, sizeof(phar_entry_info), NULL)) {
phar              257 ext/phar/util.c 	phar_archive_data *phar;
phar              262 ext/phar/util.c 		pphar = &phar;
phar              275 ext/phar/util.c 		phar = PHAR_G(last_phar);
phar              288 ext/phar/util.c 		if (FAILURE == phar_get_archive(&phar, arch, arch_len, NULL, 0, NULL TSRMLS_CC)) {
phar              294 ext/phar/util.c 			*pphar = phar;
phar              301 ext/phar/util.c 			if (zend_hash_exists(&(phar->manifest), test + 1, try_len - 1)) {
phar              308 ext/phar/util.c 			if (zend_hash_exists(&(phar->manifest), test, try_len)) {
phar              355 ext/phar/util.c 	phar_archive_data *phar;
phar              372 ext/phar/util.c 	if (FAILURE == phar_get_archive(&phar, fname, fname_len, NULL, 0, error TSRMLS_CC)) {
phar              376 ext/phar/util.c 	if (for_write && PHAR_G(readonly) && !phar->is_data) {
phar              391 ext/phar/util.c 		if ((entry = phar_get_entry_info_dir(phar, path, path_len, allow_dir, for_create && !PHAR_G(readonly) && !phar->is_data ? NULL : error, security TSRMLS_CC)) == NULL) {
phar              392 ext/phar/util.c 			if (for_create && (!PHAR_G(readonly) || phar->is_data)) {
phar              398 ext/phar/util.c 		if ((entry = phar_get_entry_info(phar, path, path_len, for_create && !PHAR_G(readonly) && !phar->is_data ? NULL : error, security TSRMLS_CC)) == NULL) {
phar              399 ext/phar/util.c 			if (for_create && (!PHAR_G(readonly) || phar->is_data)) {
phar              406 ext/phar/util.c 	if (for_write && phar->is_persistent) {
phar              407 ext/phar/util.c 		if (FAILURE == phar_copy_on_write(&phar TSRMLS_CC)) {
phar              442 ext/phar/util.c 		(*ret)->phar = phar;
phar              448 ext/phar/util.c 		if (!phar->is_persistent) {
phar              449 ext/phar/util.c 			++(entry->phar->refcount);
phar              458 ext/phar/util.c 			if (FAILURE == phar_create_writeable_entry(phar, entry, error TSRMLS_CC)) {
phar              473 ext/phar/util.c 				if (FAILURE == phar_create_writeable_entry(phar, entry, error TSRMLS_CC)) {
phar              490 ext/phar/util.c 	(*ret)->phar = phar;
phar              507 ext/phar/util.c 	if (!phar->is_persistent) {
phar              509 ext/phar/util.c 		++(entry->phar->refcount);
phar              521 ext/phar/util.c 	phar_archive_data *phar;
phar              533 ext/phar/util.c 	if (FAILURE == phar_get_archive(&phar, fname, fname_len, NULL, 0, error TSRMLS_CC)) {
phar              550 ext/phar/util.c 	if (phar->is_persistent && FAILURE == phar_copy_on_write(&phar TSRMLS_CC)) {
phar              587 ext/phar/util.c 	phar_add_virtual_dirs(phar, path, path_len TSRMLS_CC);
phar              591 ext/phar/util.c 	etemp.phar = phar;
phar              593 ext/phar/util.c 	etemp.is_zip = phar->is_zip;
phar              595 ext/phar/util.c 	if (phar->is_tar) {
phar              596 ext/phar/util.c 		etemp.is_tar = phar->is_tar;
phar              600 ext/phar/util.c 	if (FAILURE == zend_hash_add(&phar->manifest, etemp.filename, path_len, (void*)&etemp, sizeof(phar_entry_info), (void **) &entry)) {
phar              603 ext/phar/util.c 			spprintf(error, 0, "phar error: unable to add new entry \"%s\" to phar \"%s\"", etemp.filename, phar->fname);
phar              617 ext/phar/util.c 	++(phar->refcount);
phar              618 ext/phar/util.c 	ret->phar = phar;
phar              631 ext/phar/util.c int phar_open_archive_fp(phar_archive_data *phar TSRMLS_DC) /* {{{ */
phar              633 ext/phar/util.c 	if (phar_get_pharfp(phar TSRMLS_CC)) {
phar              637 ext/phar/util.c 	if (php_check_open_basedir(phar->fname TSRMLS_CC)) {
phar              641 ext/phar/util.c 	phar_set_pharfp(phar, php_stream_open_wrapper(phar->fname, "rb", IGNORE_URL|STREAM_MUST_SEEK|0, NULL) TSRMLS_CC);
phar              643 ext/phar/util.c 	if (!phar_get_pharfp(phar TSRMLS_CC)) {
phar              685 ext/phar/util.c 			spprintf(error, 4096, "phar error: unable to copy contents of file \"%s\" to \"%s\" in phar archive \"%s\"", source->filename, dest->filename, source->phar->fname);
phar              699 ext/phar/util.c 	phar_archive_data *phar = entry->phar;
phar              728 ext/phar/util.c 	if (!phar_get_pharfp(phar TSRMLS_CC)) {
phar              729 ext/phar/util.c 		if (FAILURE == phar_open_archive_fp(phar TSRMLS_CC)) {
phar              730 ext/phar/util.c 			spprintf(error, 4096, "phar error: Cannot open phar archive \"%s\" for reading", phar->fname);
phar              737 ext/phar/util.c 		dummy.phar = phar;
phar              739 ext/phar/util.c 		dummy.fp = phar_get_pharfp(phar TSRMLS_CC);
phar              749 ext/phar/util.c 			spprintf(error, 4096, "phar error: Cannot open temporary file for decompressing phar archive \"%s\" file \"%s\"", phar->fname, entry->filename);
phar              755 ext/phar/util.c 	dummy.phar = phar;
phar              757 ext/phar/util.c 	dummy.fp = phar_get_pharfp(phar TSRMLS_CC);
phar              771 ext/phar/util.c 		spprintf(error, 4096, "phar error: unable to read phar \"%s\" (cannot create %s filter while decompressing file \"%s\")", phar->fname, phar_decompress_filter(entry, 1), entry->filename);
phar              784 ext/phar/util.c 			spprintf(error, 4096, "phar error: internal corruption of phar \"%s\" (actual filesize mismatch on file \"%s\")", phar->fname, entry->filename);
phar              795 ext/phar/util.c 		spprintf(error, 4096, "phar error: internal corruption of phar \"%s\" (actual filesize mismatch on file \"%s\")", phar->fname, entry->filename);
phar              812 ext/phar/util.c int phar_create_writeable_entry(phar_archive_data *phar, phar_entry_info *entry, char **error TSRMLS_DC) /* {{{ */
phar              820 ext/phar/util.c 		phar->is_modified = 1;
phar              853 ext/phar/util.c 	phar->is_modified = 1;
phar              892 ext/phar/util.c 			spprintf(error, 4096, "phar error: cannot separate entry file \"%s\" contents in phar archive \"%s\" for write access", entry->filename, entry->phar->fname);
phar              914 ext/phar/util.c phar_entry_info * phar_open_jit(phar_archive_data *phar, phar_entry_info *entry, char **error TSRMLS_DC) /* {{{ */
phar              924 ext/phar/util.c 		spprintf(error, 4096, "phar error: cannot seek to start of file \"%s\" in phar \"%s\"", entry->filename, phar->fname);
phar              943 ext/phar/util.c int phar_free_alias(phar_archive_data *phar, char *alias, int alias_len TSRMLS_DC) /* {{{ */
phar              945 ext/phar/util.c 	if (phar->refcount || phar->is_persistent) {
phar              950 ext/phar/util.c 	if (zend_hash_del(&(PHAR_GLOBALS->phar_fname_map), phar->fname, phar->fname_len) != SUCCESS) {
phar             1214 ext/phar/util.c phar_entry_info *phar_get_entry_info(phar_archive_data *phar, char *path, int path_len, char **error, int security TSRMLS_DC) /* {{{ */
phar             1216 ext/phar/util.c 	return phar_get_entry_info_dir(phar, path, path_len, 0, error, security TSRMLS_CC);
phar             1224 ext/phar/util.c phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, int path_len, char dir, char **error, int security TSRMLS_DC) /* {{{ */
phar             1261 ext/phar/util.c 	if (!phar->manifest.arBuckets) {
phar             1272 ext/phar/util.c 	if (SUCCESS == zend_hash_find(&phar->manifest, path, path_len, (void**)&entry)) {
phar             1294 ext/phar/util.c 		if (zend_hash_exists(&phar->virtual_dirs, path, path_len)) {
phar             1301 ext/phar/util.c 			entry->phar = phar;
phar             1306 ext/phar/util.c 	if (phar->mounted_dirs.arBuckets && zend_hash_num_elements(&phar->mounted_dirs)) {
phar             1311 ext/phar/util.c 		zend_hash_internal_pointer_reset(&phar->mounted_dirs);
phar             1312 ext/phar/util.c 		while (FAILURE != zend_hash_has_more_elements(&phar->mounted_dirs)) {
phar             1313 ext/phar/util.c 			if (HASH_KEY_NON_EXISTENT == zend_hash_get_current_key_ex(&phar->mounted_dirs, &str_key, &keylen, &unused, 0, NULL)) {
phar             1324 ext/phar/util.c 				if (SUCCESS != zend_hash_find(&phar->manifest, str_key, keylen, (void **) &entry)) {
phar             1363 ext/phar/util.c 				if (SUCCESS != phar_mount_entry(phar, test, test_len, path, path_len TSRMLS_CC)) {
phar             1373 ext/phar/util.c 				if (SUCCESS != zend_hash_find(&phar->manifest, path, path_len, (void**)&entry)) {
phar             1799 ext/phar/util.c int phar_create_signature(phar_archive_data *phar, php_stream *fp, char **signature, int *signature_length, char **error TSRMLS_DC) /* {{{ */
phar             1806 ext/phar/util.c 	if (phar->signature) {
phar             1807 ext/phar/util.c 		efree(phar->signature);
phar             1808 ext/phar/util.c 		phar->signature = NULL;
phar             1811 ext/phar/util.c 	switch(phar->sig_flags) {
phar             1847 ext/phar/util.c 				spprintf(error, 0, "unable to write to phar \"%s\" with requested hash type", phar->fname);
phar             1864 ext/phar/util.c 					spprintf(error, 0, "unable to write to phar \"%s\" with requested openssl signature", phar->fname);
phar             1887 ext/phar/util.c 					spprintf(error, 0, "unable to initialize openssl signature for phar \"%s\"", phar->fname);
phar             1896 ext/phar/util.c 						spprintf(error, 0, "unable to update the openssl signature for phar \"%s\"", phar->fname);
phar             1905 ext/phar/util.c 					spprintf(error, 0, "unable to write phar \"%s\" with requested openssl signature", phar->fname);
phar             1919 ext/phar/util.c 					spprintf(error, 0, "unable to write phar \"%s\" with requested openssl signature", phar->fname);
phar             1929 ext/phar/util.c 			phar->sig_flags = PHAR_SIG_SHA1;
phar             1962 ext/phar/util.c 	phar->sig_len = phar_hex_str((const char *)*signature, *signature_length, &phar->signature TSRMLS_CC);
phar             1967 ext/phar/util.c void phar_add_virtual_dirs(phar_archive_data *phar, char *filename, int filename_len TSRMLS_DC) /* {{{ */
phar             1973 ext/phar/util.c 		if (!filename_len || FAILURE == zend_hash_add_empty_element(&phar->virtual_dirs, filename, filename_len)) {
phar             1985 ext/phar/util.c 	entry->phar = (phar_archive_data *)argument;
phar             2023 ext/phar/util.c 	phar_archive_data *phar;
phar             2028 ext/phar/util.c 	phar = (phar_archive_data *) emalloc(sizeof(phar_archive_data));
phar             2029 ext/phar/util.c 	*phar = **pphar;
phar             2030 ext/phar/util.c 	phar->is_persistent = 0;
phar             2031 ext/phar/util.c 	fname = phar->fname;
phar             2032 ext/phar/util.c 	phar->fname = estrndup(phar->fname, phar->fname_len);
phar             2033 ext/phar/util.c 	phar->ext = phar->fname + (phar->ext - fname);
phar             2035 ext/phar/util.c 	if (phar->alias) {
phar             2036 ext/phar/util.c 		phar->alias = estrndup(phar->alias, phar->alias_len);
phar             2039 ext/phar/util.c 	if (phar->signature) {
phar             2040 ext/phar/util.c 		phar->signature = estrdup(phar->signature);
phar             2043 ext/phar/util.c 	if (phar->metadata) {
phar             2045 ext/phar/util.c 		if (phar->metadata_len) {
phar             2046 ext/phar/util.c 			char *buf = estrndup((char *) phar->metadata, phar->metadata_len);
phar             2047 ext/phar/util.c 			phar_parse_metadata(&buf, &phar->metadata, phar->metadata_len TSRMLS_CC);
phar             2052 ext/phar/util.c 			t = phar->metadata;
phar             2053 ext/phar/util.c 			ALLOC_ZVAL(phar->metadata);
phar             2054 ext/phar/util.c 			*phar->metadata = *t;
phar             2055 ext/phar/util.c 			zval_copy_ctor(phar->metadata);
phar             2056 ext/phar/util.c 			Z_SET_REFCOUNT_P(phar->metadata, 1);
phar             2063 ext/phar/util.c 	zend_hash_apply_with_argument(&newmanifest, (apply_func_arg_t) phar_update_cached_entry, (void *)phar TSRMLS_CC);
phar             2064 ext/phar/util.c 	phar->manifest = newmanifest;
phar             2065 ext/phar/util.c 	zend_hash_init(&phar->mounted_dirs, sizeof(char *),
phar             2067 ext/phar/util.c 	zend_hash_init(&phar->virtual_dirs, sizeof(char *),
phar             2069 ext/phar/util.c 	zend_hash_copy(&phar->virtual_dirs, &(*pphar)->virtual_dirs, NULL, NULL, sizeof(void *));
phar             2070 ext/phar/util.c 	*pphar = phar;
phar             2076 ext/phar/util.c 		if (objphar[0]->arc.archive->fname_len == phar->fname_len && !memcmp(objphar[0]->arc.archive->fname, phar->fname, phar->fname_len)) {
phar             2077 ext/phar/util.c 			objphar[0]->arc.archive = phar;
phar              298 ext/phar/zip.c 	entry.phar = mydata;
phar              724 ext/phar/zip.c 	phar_archive_data *phar;
phar              725 ext/phar/zip.c 	int ret = phar_create_or_parse_filename(fname, fname_len, alias, alias_len, is_data, options, &phar, error TSRMLS_CC);
phar              732 ext/phar/zip.c 		*pphar = phar;
phar              735 ext/phar/zip.c 	phar->is_data = is_data;
phar              737 ext/phar/zip.c 	if (phar->is_zip) {
phar              741 ext/phar/zip.c 	if (phar->is_brandnew) {
phar              742 ext/phar/zip.c 		phar->internal_file_start = 0;
phar              743 ext/phar/zip.c 		phar->is_zip = 1;
phar              744 ext/phar/zip.c 		phar->is_tar = 0;
phar              792 ext/phar/zip.c 	phar_add_virtual_dirs(entry->phar, entry->filename, entry->filename_len TSRMLS_CC);
phar              837 ext/phar/zip.c 			if (entry->fp_type == PHAR_MOD && entry->fp != entry->phar->fp && entry->fp != entry->phar->ufp) {
phar              846 ext/phar/zip.c 			spprintf(p->error, 0, "unable to open file contents of file \"%s\" in zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar              857 ext/phar/zip.c 			spprintf(p->error, 0, "unable to seek to start of file \"%s\" to zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar              884 ext/phar/zip.c 				spprintf(p->error, 0, "unable to gzip compress file \"%s\" to zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar              886 ext/phar/zip.c 				spprintf(p->error, 0, "unable to bzip2 compress file \"%s\" to zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar              897 ext/phar/zip.c 			spprintf(p->error, 0, "unable to create temporary file for file \"%s\" while creating zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar              904 ext/phar/zip.c 			spprintf(p->error, 0, "unable to seek to start of file \"%s\" to zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar              911 ext/phar/zip.c 			spprintf(p->error, 0, "unable to copy compressed file contents of file \"%s\" while creating new phar \"%s\"", entry->filename, entry->phar->fname);
phar              934 ext/phar/zip.c 				spprintf(p->error, 0, "unable to seek to start of file \"%s\" while creating zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar              962 ext/phar/zip.c 		spprintf(p->error, 0, "unable to write local file header of file \"%s\" to zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar              967 ext/phar/zip.c 		spprintf(p->error, 0, "unable to write central directory entry for file \"%s\" while creating zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar              973 ext/phar/zip.c 			spprintf(p->error, 0, "unable to write filename to local directory entry for directory \"%s\" while creating zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar              978 ext/phar/zip.c 			spprintf(p->error, 0, "unable to write filename to local directory entry for directory \"%s\" while creating zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar              983 ext/phar/zip.c 			spprintf(p->error, 0, "unable to write filename to central directory entry for directory \"%s\" while creating zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar              988 ext/phar/zip.c 			spprintf(p->error, 0, "unable to write filename to central directory entry for directory \"%s\" while creating zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar              993 ext/phar/zip.c 			spprintf(p->error, 0, "unable to write filename to local directory entry for file \"%s\" while creating zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar              998 ext/phar/zip.c 			spprintf(p->error, 0, "unable to write filename to central directory entry for file \"%s\" while creating zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar             1004 ext/phar/zip.c 		spprintf(p->error, 0, "unable to write local extra permissions file header of file \"%s\" to zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar             1009 ext/phar/zip.c 		spprintf(p->error, 0, "unable to write central extra permissions file header of file \"%s\" to zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar             1016 ext/phar/zip.c 				spprintf(p->error, 0, "unable to write compressed contents of file \"%s\" in zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar             1030 ext/phar/zip.c 				spprintf(p->error, 0, "unable to write contents of file \"%s\" in zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar             1035 ext/phar/zip.c 		if (entry->fp_type == PHAR_MOD && entry->fp != entry->phar->fp && entry->fp != entry->phar->ufp && entry->fp_refcount == 0) {
phar             1056 ext/phar/zip.c 			spprintf(p->error, 0, "unable to copy contents of file \"%s\" while creating zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar             1067 ext/phar/zip.c 			spprintf(p->error, 0, "unable to write metadata as file comment for file \"%s\" while creating zip-based phar \"%s\"", entry->filename, entry->phar->fname);
phar             1079 ext/phar/zip.c static int phar_zip_applysignature(phar_archive_data *phar, struct _phar_zip_pass *pass,
phar             1083 ext/phar/zip.c 	if (!phar->is_data || phar->sig_flags) {
phar             1106 ext/phar/zip.c 		if (FAILURE == phar_create_signature(phar, newfile, &signature, &signature_length, pass->error TSRMLS_CC)) {
phar             1127 ext/phar/zip.c 		PHAR_SET_32(sigbuf, phar->sig_flags);
phar             1133 ext/phar/zip.c 				spprintf(pass->error, 0, "phar error: unable to write signature to zip-based phar %s", phar->fname);
phar             1142 ext/phar/zip.c 		entry.phar = phar;
phar             1157 ext/phar/zip.c int phar_zip_flush(phar_archive_data *phar, char *user_stub, long len, int defaultstub, char **error TSRMLS_DC) /* {{{ */
phar             1179 ext/phar/zip.c 	entry.phar = phar;
phar             1182 ext/phar/zip.c 	if (phar->is_persistent) {
phar             1184 ext/phar/zip.c 			spprintf(error, 0, "internal error: attempt to flush cached zip-based phar \"%s\"", phar->fname);
phar             1189 ext/phar/zip.c 	if (phar->is_data) {
phar             1194 ext/phar/zip.c 	if (!phar->is_temporary_alias && phar->alias_len) {
phar             1200 ext/phar/zip.c 		if (phar->alias_len != (int)php_stream_write(entry.fp, phar->alias, phar->alias_len)) {
phar             1202 ext/phar/zip.c 				spprintf(error, 0, "unable to set alias in zip-based phar \"%s\"", phar->fname);
phar             1207 ext/phar/zip.c 		entry.uncompressed_filesize = entry.compressed_filesize = phar->alias_len;
phar             1211 ext/phar/zip.c 		if (SUCCESS != zend_hash_update(&phar->manifest, entry.filename, entry.filename_len, (void*)&entry, sizeof(phar_entry_info), NULL)) {
phar             1213 ext/phar/zip.c 				spprintf(error, 0, "unable to set alias in zip-based phar \"%s\"", phar->fname);
phar             1218 ext/phar/zip.c 		zend_hash_del(&phar->manifest, ".phar/alias.txt", sizeof(".phar/alias.txt")-1);
phar             1222 ext/phar/zip.c 	if (phar->alias_len) {
phar             1223 ext/phar/zip.c 		if (FAILURE == phar_get_archive(&phar, phar->fname, phar->fname_len, phar->alias, phar->alias_len, error TSRMLS_CC)) {
phar             1234 ext/phar/zip.c 					spprintf(error, 0, "unable to access resource to copy stub to new zip-based phar \"%s\"", phar->fname);
phar             1249 ext/phar/zip.c 					spprintf(error, 0, "unable to read resource to copy stub to new zip-based phar \"%s\"", phar->fname);
phar             1262 ext/phar/zip.c 				spprintf(error, 0, "illegal stub for zip-based phar \"%s\"", phar->fname);
phar             1283 ext/phar/zip.c 				spprintf(error, 0, "unable to create stub from string in new zip-based phar \"%s\"", phar->fname);
phar             1295 ext/phar/zip.c 		if (SUCCESS != zend_hash_update(&phar->manifest, entry.filename, entry.filename_len, (void*)&entry, sizeof(phar_entry_info), NULL)) {
phar             1300 ext/phar/zip.c 				spprintf(error, 0, "unable to set stub in zip-based phar \"%s\"", phar->fname);
phar             1318 ext/phar/zip.c 				spprintf(error, 0, "unable to %s stub in%szip-based phar \"%s\", failed", user_stub ? "overwrite" : "create", user_stub ? " " : " new ", phar->fname);
phar             1328 ext/phar/zip.c 			if (!zend_hash_exists(&phar->manifest, ".phar/stub.php", sizeof(".phar/stub.php")-1)) {
phar             1329 ext/phar/zip.c 				if (SUCCESS != zend_hash_add(&phar->manifest, entry.filename, entry.filename_len, (void*)&entry, sizeof(phar_entry_info), NULL)) {
phar             1333 ext/phar/zip.c 						spprintf(error, 0, "unable to create stub in zip-based phar \"%s\"", phar->fname);
phar             1342 ext/phar/zip.c 			if (SUCCESS != zend_hash_update(&phar->manifest, entry.filename, entry.filename_len, (void*)&entry, sizeof(phar_entry_info), NULL)) {
phar             1346 ext/phar/zip.c 					spprintf(error, 0, "unable to overwrite stub in zip-based phar \"%s\"", phar->fname);
phar             1353 ext/phar/zip.c 	if (phar->fp && !phar->is_brandnew) {
phar             1354 ext/phar/zip.c 		oldfile = phar->fp;
phar             1358 ext/phar/zip.c 		oldfile = php_stream_open_wrapper(phar->fname, "rb", 0, NULL);
phar             1372 ext/phar/zip.c 			spprintf(error, 4096, "phar zip flush of \"%s\" failed: unable to open temporary file", phar->fname);
phar             1387 ext/phar/zip.c 	if (!phar->is_data && !phar->sig_flags) {
phar             1388 ext/phar/zip.c 		phar->sig_flags = PHAR_SIG_SHA1;
phar             1390 ext/phar/zip.c 	if (phar->sig_flags) {
phar             1391 ext/phar/zip.c 		PHAR_SET_16(eocd.counthere, zend_hash_num_elements(&phar->manifest) + 1);
phar             1392 ext/phar/zip.c 		PHAR_SET_16(eocd.count, zend_hash_num_elements(&phar->manifest) + 1);
phar             1394 ext/phar/zip.c 		PHAR_SET_16(eocd.counthere, zend_hash_num_elements(&phar->manifest));
phar             1395 ext/phar/zip.c 		PHAR_SET_16(eocd.count, zend_hash_num_elements(&phar->manifest));
phar             1397 ext/phar/zip.c 	zend_hash_apply_with_argument(&phar->manifest, phar_zip_changed_apply, (void *) &pass TSRMLS_CC);
phar             1399 ext/phar/zip.c 	if (phar->metadata) {
phar             1402 ext/phar/zip.c 		php_var_serialize(&main_metadata_str, &phar->metadata, &metadata_hash TSRMLS_CC);
phar             1407 ext/phar/zip.c 			spprintf(error, 4096, "phar zip flush of \"%s\" failed: %s", phar->fname, temperr);
phar             1413 ext/phar/zip.c 		if (phar->metadata) {
phar             1423 ext/phar/zip.c 	if (FAILURE == phar_zip_applysignature(phar, &pass, &main_metadata_str TSRMLS_CC)) {
phar             1439 ext/phar/zip.c 				spprintf(error, 4096, "phar zip flush of \"%s\" failed: unable to write central-directory", phar->fname);
phar             1447 ext/phar/zip.c 	if (phar->metadata) {
phar             1453 ext/phar/zip.c 				spprintf(error, 4096, "phar zip flush of \"%s\" failed: unable to write end of central-directory", phar->fname);
phar             1460 ext/phar/zip.c 				spprintf(error, 4096, "phar zip flush of \"%s\" failed: unable to write metadata to zip comment", phar->fname);
phar             1470 ext/phar/zip.c 				spprintf(error, 4096, "phar zip flush of \"%s\" failed: unable to write end of central-directory", phar->fname);
phar             1476 ext/phar/zip.c 	if (phar->fp && pass.free_fp) {
phar             1477 ext/phar/zip.c 		php_stream_close(phar->fp);
phar             1480 ext/phar/zip.c 	if (phar->ufp) {
phar             1482 ext/phar/zip.c 			php_stream_close(phar->ufp);
phar             1484 ext/phar/zip.c 		phar->ufp = NULL;
phar             1488 ext/phar/zip.c 	phar->is_brandnew = 0;
phar             1490 ext/phar/zip.c 	if (phar->donotflush) {
phar             1492 ext/phar/zip.c 		phar->fp = pass.filefp;
phar             1494 ext/phar/zip.c 		phar->fp = php_stream_open_wrapper(phar->fname, "w+b", IGNORE_URL|STREAM_MUST_SEEK|REPORT_ERRORS, NULL);
phar             1495 ext/phar/zip.c 		if (!phar->fp) {
phar             1499 ext/phar/zip.c 			phar->fp = pass.filefp;
phar             1501 ext/phar/zip.c 				spprintf(error, 4096, "unable to open new phar \"%s\" for writing", phar->fname);
phar             1506 ext/phar/zip.c 		php_stream_copy_to_stream_ex(pass.filefp, phar->fp, PHP_STREAM_COPY_ALL, NULL);