re-organize slightly, fix more php6-only compile warnings in php_stream_copy_to_mem

This commit is contained in:
Greg Beaver 2009-07-26 01:03:47 +00:00
parent 0984d25723
commit 9a677532db
5 changed files with 56 additions and 34 deletions

View File

@ -2647,7 +2647,11 @@ int phar_flush(phar_archive_data *phar, char *user_stub, long len, int convert,
len = -len;
}
user_stub = 0;
#if PHP_MAJOR_VERSION >= 6
if (!(len = php_stream_copy_to_mem(stubfile, (void **) &user_stub, len, 0)) || !user_stub) {
#else
if (!(len = php_stream_copy_to_mem(stubfile, &user_stub, len, 0)) || !user_stub) {
#endif
if (closeoldfile) {
php_stream_close(oldfile);
}

View File

@ -546,6 +546,38 @@ typedef zstr phar_zstr;
b = ZSTR(a);
#define PHAR_STR_FREE(a) \
efree(a);
static inline int phar_make_unicode(zstr *c_var, char *arKey, uint nKeyLength TSRMLS_DC)
{
int c_var_len;
UConverter *conv = ZEND_U_CONVERTER(UG(runtime_encoding_conv));
c_var->u = NULL;
if (zend_string_to_unicode(conv, &c_var->u, &c_var_len, arKey, nKeyLength TSRMLS_CC) == FAILURE) {
if (c_var->u) {
efree(c_var->u);
}
return 0;
}
return c_var_len;
}
static inline int phar_find_key(HashTable *_SERVER, char *key, int len, void **stuff TSRMLS_DC)
{
if (SUCCESS == zend_hash_find(_SERVER, key, len, stuff)) {
return 1;
} else {
int s = len;
zstr var;
s = phar_make_unicode(&var, key, len TSRMLS_CC);
if (SUCCESS == zend_u_hash_find(_SERVER, IS_UNICODE, var, s, stuff)) {
efree(var.u);
return 1;
}
efree(var.u);
return 0;
}
}
#else
typedef char *phar_zstr;
#define PHAR_STR(a, b) \

View File

@ -56,40 +56,6 @@ static int phar_file_type(HashTable *mimes, char *file, char **mime_type TSRMLS_
}
/* }}} */
#if PHP_MAJOR_VERSION >= 6
static inline int phar_make_unicode(zstr *c_var, char *arKey, uint nKeyLength TSRMLS_DC)
{
int c_var_len;
UConverter *conv = ZEND_U_CONVERTER(UG(runtime_encoding_conv));
c_var->u = NULL;
if (zend_string_to_unicode(conv, &c_var->u, &c_var_len, arKey, nKeyLength TSRMLS_CC) == FAILURE) {
if (c_var->u) {
efree(c_var->u);
}
return 0;
}
return c_var_len;
}
static inline int phar_find_key(HashTable *_SERVER, char *key, int len, void **stuff TSRMLS_DC)
{
if (SUCCESS == zend_hash_find(_SERVER, key, len, stuff)) {
return 1;
} else {
int s = len;
zstr var;
s = phar_make_unicode(&var, key, len TSRMLS_CC);
if (SUCCESS == zend_u_hash_find(_SERVER, IS_UNICODE, var, s, stuff)) {
efree(var.u);
return 1;
}
efree(var.u);
return 0;
}
}
#endif
static void phar_mung_server_vars(char *fname, char *entry, int entry_len, char *basename, int request_uri_len TSRMLS_DC) /* {{{ */
{
#if PHP_MAJOR_VERSION >= 6

View File

@ -928,7 +928,11 @@ int phar_tar_flush(phar_archive_data *phar, char *user_stub, long len, int defau
len = -len;
}
user_stub = 0;
#if PHP_MAJOR_VERSION >= 6
if (!(len = php_stream_copy_to_mem(stubfile, (void **) &user_stub, len, 0)) || !user_stub) {
#else
if (!(len = php_stream_copy_to_mem(stubfile, &user_stub, len, 0)) || !user_stub) {
#endif
if (error) {
spprintf(error, 0, "unable to read resource to copy stub to new tar-based phar \"%s\"", phar->fname);
}

View File

@ -600,7 +600,11 @@ foundit:
php_stream_filter_append(&fp->readfilters, filter);
#if PHP_MAJOR_VERSION >= 6
if (!(entry.uncompressed_filesize = php_stream_copy_to_mem(fp, (void **) &actual_alias, entry.uncompressed_filesize, 0)) || !actual_alias) {
#else
if (!(entry.uncompressed_filesize = php_stream_copy_to_mem(fp, &actual_alias, entry.uncompressed_filesize, 0)) || !actual_alias) {
#endif
pefree(entry.filename, entry.is_persistent);
#if PHP_VERSION_ID < 50207
PHAR_ZIP_FAIL("unable to read in alias, truncated (PHP 5.2.7 and newer has a potential fix for this problem)");
@ -621,7 +625,11 @@ foundit:
php_stream_filter_append(&fp->readfilters, filter);
#if PHP_MAJOR_VERSION >= 6
if (!(entry.uncompressed_filesize = php_stream_copy_to_mem(fp, (void **) &actual_alias, entry.uncompressed_filesize, 0)) || !actual_alias) {
#else
if (!(entry.uncompressed_filesize = php_stream_copy_to_mem(fp, &actual_alias, entry.uncompressed_filesize, 0)) || !actual_alias) {
#endif
pefree(entry.filename, entry.is_persistent);
#if PHP_VERSION_ID < 50207
PHAR_ZIP_FAIL("unable to read in alias, truncated (PHP 5.2.7 and newer has a potential fix for this problem)");
@ -632,7 +640,11 @@ foundit:
php_stream_filter_flush(filter, 1);
php_stream_filter_remove(filter, 1 TSRMLS_CC);
} else {
#if PHP_MAJOR_VERSION >= 6
if (!(entry.uncompressed_filesize = php_stream_copy_to_mem(fp, (void **) &actual_alias, entry.uncompressed_filesize, 0)) || !actual_alias) {
#else
if (!(entry.uncompressed_filesize = php_stream_copy_to_mem(fp, &actual_alias, entry.uncompressed_filesize, 0)) || !actual_alias) {
#endif
pefree(entry.filename, entry.is_persistent);
PHAR_ZIP_FAIL("unable to read in alias, truncated");
}
@ -1234,7 +1246,11 @@ int phar_zip_flush(phar_archive_data *phar, char *user_stub, long len, int defau
user_stub = 0;
#if PHP_MAJOR_VERSION >= 6
if (!(len = php_stream_copy_to_mem(stubfile, (void **) &user_stub, len, 0)) || !user_stub) {
#else
if (!(len = php_stream_copy_to_mem(stubfile, &user_stub, len, 0)) || !user_stub) {
#endif
if (error) {
spprintf(error, 0, "unable to read resource to copy stub to new zip-based phar \"%s\"", phar->fname);
}