Beispiel #1
0
void HspVarCoreReDim( PVal *pval, int lenid, int len )
{
	//		配列を拡張する
	//
	HspVarProc *p;
	p = &hspvarproc[ pval->flag ];
	pval->len[lenid] = len;
	p->Alloc( pval, pval );
}
Beispiel #2
0
void HspVarCoreDimFlex( PVal *pval, int flag, int len0, int len1, int len2, int len3, int len4 )
{
	//		配列を確保する(可変長配列用)
	//		(len1~len4は、4byte単位なので注意)
	//
	HspVarProc *p;
	p = &hspvarproc[ flag ];
	if ((len1<0)||(len2<0)||(len3<0)||(len4<0)) throw HSPVAR_ERROR_ILLEGALPRM;
	HspVarCoreDispose( pval );
	pval->flag = flag;
	pval->len[0] = len0;
	pval->offset = 0;
	pval->arraycnt = 0;
	pval->support = p->support;
	pval->len[1] = len1;
	pval->len[2] = len2;
	pval->len[3] = len3;
	pval->len[4] = len4;
	p->Alloc( pval, NULL );
	pval->len[0] = 1;
}
Beispiel #3
0
static void pv_alloc( HSPEXINFO *hei, PVal *pv, PVal *pv2 )
{
	HspVarProc *varproc;
	varproc = hei->HspFunc_getproc( pv->flag );
	varproc->Alloc( pv, pv2 );
}