don't catch compiler error, just warnings
git-svn-id: svn://svn.lighttpd.net/xcache/trunk@500 c26eb9a1-5813-0410-bd6c-c2e55f420ca7
This commit is contained in:
parent
e568e2dfde
commit
7e8177b1d5
|
@ -5,7 +5,7 @@ Ini Settings Changes
|
|||
|
||||
ChangeLog
|
||||
========
|
||||
* compiler errors: all compiler warning (e.g.: E_STRICT) is now cached and is supported for user handler
|
||||
* compiler errors: all compiler warning (E_STRICT only currently) is now cached and is supported for user handler
|
||||
* added module dependency
|
||||
* live with wrong system time: allow caching files with mtime in further
|
||||
* bug fix for compatibility with Zend Optimizer and other non-cachable
|
||||
|
|
|
@ -745,7 +745,6 @@ dnl }}}
|
|||
#endif
|
||||
#ifdef E_STRICT
|
||||
DEF_STRUCT_P_FUNC(`xc_compilererror_t', , `dnl {{{
|
||||
DISPATCH(int, type)
|
||||
DISPATCH(uint, lineno)
|
||||
DISPATCH(int, error_len)
|
||||
PROC_STRING_L(error, error_len)
|
||||
|
|
21
utils.c
21
utils.c
|
@ -525,6 +525,24 @@ static void xc_sandbox_error_cb(int type, const char *error_filename, const uint
|
|||
|
||||
sandbox = (xc_sandbox_t *) XG(sandbox);
|
||||
assert(sandbox != NULL);
|
||||
if (type != E_STRICT) {
|
||||
/* give up, and user handler is not supported in this case */
|
||||
int i;
|
||||
zend_uint orig_lineno = CG(zend_lineno);
|
||||
zend_error_cb = sandbox->orig_zend_error_cb;
|
||||
|
||||
for (i = 0; i < sandbox->compilererror_cnt; i ++) {
|
||||
compilererror = &sandbox->compilererrors[i];
|
||||
CG(zend_lineno) = compilererror->lineno;
|
||||
zend_error(E_STRICT, "%s", compilererror->error);
|
||||
}
|
||||
CG(zend_lineno) = orig_lineno;
|
||||
sandbox->compilererror_cnt = 0;
|
||||
|
||||
sandbox->orig_zend_error_cb(type, error_filename, error_lineno, format, args);
|
||||
return;
|
||||
}
|
||||
|
||||
if (sandbox->compilererror_cnt <= sandbox->compilererror_size) {
|
||||
if (sandbox->compilererror_size) {
|
||||
sandbox->compilererror_size += 16;
|
||||
|
@ -536,7 +554,6 @@ static void xc_sandbox_error_cb(int type, const char *error_filename, const uint
|
|||
}
|
||||
}
|
||||
compilererror = &sandbox->compilererrors[sandbox->compilererror_cnt++];
|
||||
compilererror->type = type;
|
||||
compilererror->lineno = error_lineno;
|
||||
compilererror->error_len = zend_vspprintf(&compilererror->error, 0, format, args);
|
||||
}
|
||||
|
@ -720,7 +737,7 @@ static void xc_sandbox_install(xc_sandbox_t *sandbox, xc_install_action_t instal
|
|||
for (i = 0; i < sandbox->compilererror_cnt; i ++) {
|
||||
xc_compilererror_t *error = &sandbox->compilererrors[i];
|
||||
CG(zend_lineno) = error->lineno;
|
||||
zend_error(error->type, "%s", error->error);
|
||||
zend_error(E_STRICT, "%s", error->error);
|
||||
}
|
||||
CG(zend_lineno) = 0;
|
||||
#endif
|
||||
|
|
2
xcache.c
2
xcache.c
|
@ -669,7 +669,7 @@ static zend_op_array *xc_entry_install(xc_entry_t *xce, zend_file_handle *h TSRM
|
|||
for (i = 0; i < p->compilererror_cnt; i ++) {
|
||||
xc_compilererror_t *error = &p->compilererrors[i];
|
||||
CG(zend_lineno) = error->lineno;
|
||||
zend_error(error->type, "%s", error->error);
|
||||
zend_error(E_STRICT, "%s", error->error);
|
||||
}
|
||||
CG(zend_lineno) = 0;
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue