|
@@ -61,6 +61,12 @@ static ResultType int_init(O_FUNC){
|
|
|
case V_ell:
|
|
|
base->value->data.int_.num = 0;
|
|
|
break;
|
|
|
+ case V_struct:
|
|
|
+ if (ap[1].value->value->data.struct_.len * sizeof(int8_t) >= sizeof(vint))
|
|
|
+ base->value->data.int_.num = *(vint *)ap[1].value->value->data.struct_.data; // 转换为 vint
|
|
|
+ else
|
|
|
+ setResultError(E_ValueException, NOT_ENOUGH_LEN(int), LINEFILE, true, CNEXT_NT); // 出现错误
|
|
|
+ break;
|
|
|
default:
|
|
|
setResultError(E_TypeException, ERROR_INIT(num), LINEFILE, true, CNEXT_NT);
|
|
|
return result->type;
|