efree(data->filename);
}
-static phar_internal_file_data *phar_get_filedata(char *alias, char *path)
+static phar_internal_file_data *phar_get_filedata(char *alias, char *path TSRMLS_DC)
{
phar_file_data *data;
phar_internal_file_data *ret;
}
MAKE_STD_ZVAL(halt_constant);
- zend_get_constant("__COMPILER_HALT_OFFSET__", 24, halt_constant);
+ zend_get_constant("__COMPILER_HALT_OFFSET__", 24, halt_constant TSRMLS_CC);
halt_offset = Z_LVAL(*halt_constant);
zval_dtor(halt_constant);
FREE_ZVAL(halt_constant);
return;
}
if (*buffer == ' ' && *(buffer + 1) == '?' && *(buffer + 2) == '>') {
- halt_offset += 3;
int nextchar;
+ halt_offset += 3;
if (EOF == (nextchar = php_stream_getc(fp))) goto MAPPHAR_FAILURE;
if ((char) nextchar == '\r') {
if (EOF == (nextchar = php_stream_getc(fp))) goto MAPPHAR_FAILURE;
*/
PHP_MINIT_FUNCTION(phar)
{
- ZEND_INIT_MODULE_GLOBALS(phar, php_phar_init_globals_module, NULL);
zend_class_entry php_archive_entry;
int machine_endian_check = 1;
+ ZEND_INIT_MODULE_GLOBALS(phar, php_phar_init_globals_module, NULL);
machine_little_endian = ((char *)&machine_endian_check)[0];
}
internal_file = resource->path + 1; /* strip leading "/" */
- if (NULL == (idata = phar_get_filedata(resource->host, internal_file))) {
+ if (NULL == (idata = phar_get_filedata(resource->host, internal_file TSRMLS_CC))) {
return NULL;
}
PHP_PHAR_API int phar_stat(php_stream *stream, php_stream_statbuf *ssb TSRMLS_DC)
{
+ phar_internal_file_data *data;
/* If ssb is NULL then someone is misbehaving */
if (!ssb) return -1;
- phar_internal_file_data *data = (phar_internal_file_data *)stream->abstract;
- phar_dostat(data->internal_file, ssb, 0);
+ data = (phar_internal_file_data *)stream->abstract;
+ phar_dostat(data->internal_file, ssb, 0 TSRMLS_CC);
return 0;
}
ssb->sb.st_nlink = 1;
ssb->sb.st_rdev = -1;
+#ifndef PHP_WIN32
ssb->sb.st_blksize = -1;
ssb->sb.st_blocks = -1;
+#endif
}
PHP_PHAR_API int phar_stream_stat(php_stream_wrapper *wrapper, char *url, int flags,
if (SUCCESS == zend_hash_find(&(PHAR_GLOBALS->phar_data), resource->host, strlen(resource->host), (void **) &data)) {
if (*internal_file == '\0') {
// root directory requested
- phar_dostat(NULL, ssb, 1);
+ phar_dostat(NULL, ssb, 1 TSRMLS_CC);
php_url_free(resource);
return 0;
}
if (SUCCESS == zend_hash_find(data->manifest, internal_file, strlen(internal_file), (void **) &file_data)) {
- phar_dostat(file_data, ssb, 0);
+ phar_dostat(file_data, ssb, 0 TSRMLS_CC);
} else {
// search for directory
zend_hash_internal_pointer_reset(data->manifest);
data->manifest, &key, &keylen, &unused, 0, NULL)) {
if (0 == memcmp(key, internal_file, keylen)) {
// directory found
- phar_dostat(NULL, ssb, 1);
+ phar_dostat(NULL, ssb, 1 TSRMLS_CC);
break;
}
}
return zend_hash_update(ht, arKey, nKeyLength, &dummy, sizeof(void *), NULL);
}
-static php_stream *phar_make_dirstream(char *dir, HashTable *manifest)
+static php_stream *phar_make_dirstream(char *dir, HashTable *manifest TSRMLS_DC)
{
HashTable *data;
int dirlen = strlen(dir);
if (SUCCESS == zend_hash_find(&(PHAR_GLOBALS->phar_data), resource->host, strlen(resource->host), (void **) &data)) {
if (*internal_file == '\0') {
// root directory requested
- ret = phar_make_dirstream("/", data->manifest);
+ ret = phar_make_dirstream("/", data->manifest TSRMLS_CC);
php_url_free(resource);
return ret;
}
if (0 == memcmp(key, internal_file, keylen)) {
// directory found
php_url_free(resource);
- return phar_make_dirstream(internal_file, data->manifest);
+ return phar_make_dirstream(internal_file, data->manifest TSRMLS_CC);
}
}
zend_hash_move_forward(data->manifest);