浏览代码

handle new IS_INDIRECT and IS_UNDEF in zval->js export

Stefan Siegl 9 年之前
父节点
当前提交
8a3124ee2a
共有 1 个文件被更改,包括 8 次插入1 次删除
  1. 8 1
      v8js_convert.cc

+ 8 - 1
v8js_convert.cc

@@ -105,6 +105,9 @@ v8::Handle<v8::Value> zval_to_v8js(zval *value, v8::Isolate *isolate TSRMLS_DC)
 	long v;
 	zend_class_entry *ce;
 
+	if(Z_TYPE_P(value) == IS_INDIRECT)
+		value = Z_INDIRECT_P(value);
+
 	switch (Z_TYPE_P(value))
 	{
 		case IS_ARRAY:
@@ -154,10 +157,14 @@ v8::Handle<v8::Value> zval_to_v8js(zval *value, v8::Isolate *isolate TSRMLS_DC)
 			jsValue = V8JS_FALSE();
 			break;
 
-		default:
 		case IS_NULL:
 			jsValue = V8JS_NULL;
 			break;
+
+		case IS_UNDEF:
+		default:
+			/* undefined -> return v8::Value left empty */
+			break;
 	}
 	return jsValue;
 }