better errors
[m6w6/ext-psi] / php_psi.h
index 6715c22ed51547fe45575a5f47001942b4b6e0da..31e65652e697f8b4bda7e63b040c937f2f693592 100644 (file)
--- a/php_psi.h
+++ b/php_psi.h
@@ -1,4 +1,3 @@
-
 #ifndef PHP_PSI_H
 #define PHP_PSI_H
 
@@ -20,9 +19,10 @@ extern zend_module_entry psi_module_entry;
 #endif
 
 #include "context.h"
-#include "parser.h"
 
-void psi_error(int type, const char *msg, ...);
+void psi_error_wrapper(PSI_Token *t, int type, const char *msg, ...);
+void psi_error(int type, const char *fn, unsigned ln, const char *msg, ...);
+void psi_verror(int type, const char *fn, unsigned ln, const char *msg, va_list argv);
 
 static inline int psi_check_env(const char *var) {
        char *set = getenv(var);
@@ -60,12 +60,12 @@ void psi_to_object(zval *return_value, set_value *set, impl_val *ret_val);
 
 void psi_call(zend_execute_data *execute_data, zval *return_value, impl *impl);
 
-int psi_calc_num_exp(num_exp *exp, impl_val *ref, impl_val *res);
+int psi_calc_num_exp(num_exp *exp, impl_val *strct, impl_val *res);
 
-static inline zend_long psi_long_num_exp(num_exp *exp, impl_val *ref) {
+static inline zend_long psi_long_num_exp(num_exp *exp, impl_val *strct) {
        impl_val val = {0};
 
-       switch (psi_calc_num_exp(exp, ref, &val)) {
+       switch (psi_calc_num_exp(exp, strct, &val)) {
        case PSI_T_UINT8:       return val.u8;
        case PSI_T_UINT16:      return val.u16;
        case PSI_T_UINT32:      return val.u32;
@@ -78,6 +78,7 @@ static inline zend_long psi_long_num_exp(num_exp *exp, impl_val *ref) {
        case PSI_T_DOUBLE:      return val.dval;
        EMPTY_SWITCH_DEFAULT_CASE();
        }
+       return 0;
 }
 
 int psi_calc_add(int t1, impl_val *v1, int t2, impl_val *v2, impl_val *res);