Explorar el Código

Merge pull request #202 from viest/dev

Fix: sheet call back value is null
viest hace 5 años
padre
commit
0270e80e9f
Se han modificado 1 ficheros con 7 adiciones y 1 borrados
  1. 7 1
      kernel/read.c

+ 7 - 1
kernel/read.c

@@ -289,6 +289,11 @@ int sheet_cell_callback (size_t row, size_t col, const char *value, void *callba
 
     ZVAL_LONG(&args[0], (row - 1));
     ZVAL_LONG(&args[1], (col - 1));
+    ZVAL_NULL(&args[2]);
+
+    if (value == NULL) {
+        goto CALL_USER_FUNCTION;
+    }
 
     if (Z_TYPE_P(_callback_data->zv_type_t) != IS_ARRAY) {
         zend_long _long = 0; double _double = 0;
@@ -314,10 +319,11 @@ int sheet_cell_callback (size_t row, size_t col, const char *value, void *callba
             }
         }
 
-        ZVAL_NULL(&args[2]);
         data_to_custom_type(value, _type, &args[2]);
     }
 
+    CALL_USER_FUNCTION:
+
     zend_call_function(_callback_data->fci, _callback_data->fci_cache);
 
     zval_ptr_dtor(&args[2]);