*/
static void php_mime_magic_init_globals(zend_mime_magic_globals *mime_magic_globals)
{
- mime_global.magicfile = NULL;
+ memset(mime_magic_globals, 0, sizeof(zend_mime_magic_globals));
+ mime_global.magic = NULL;
+ mime_global.last = NULL;
}
/* }}} */
if (conf->magic == (struct magic *)-1) {
if(MIME_MAGIC_G(debug))
- php_error_docref("http://www.php.net/mime_magic" TSRMLS_CC, E_ERROR, "mime_magic could not be initialized, magic file %s is not available", conf->magicfile);
+ php_error_docref("http://www.php.net/mime_magic" TSRMLS_CC, E_ERROR, "mime_magic could not be initialized, magic file %s is not available", MIME_MAGIC_G(magicfile));
RETURN_FALSE;
}
magic_server_config_rec *conf = &mime_global;
TSRMLS_FETCH();
- fname = conf->magicfile; /* todo cwd? */
+ if (!MIME_MAGIC_G(magicfile)) {
+ return -1;
+ }
+
+ fname = MIME_MAGIC_G(magicfile); /* todo cwd? */
f = fopen(fname, "rb");
if (f == NULL) {
conf->magic = (struct magic *)-1;