【HSP】変数の (全体の) バッファサイズ取得 (配列変数も可) 【モジュール】

(HSP用の外部)プラグインを作っていて、HSPの変数サイズが知りたくなったので作りました。(プラグイン以外でも使えます)

(HSP用の外部)プラグインを作っていて、HSPの変数サイズが知りたくなったので作りました。(プラグイン以外でも使えます)

#ifndef in_m_varsize
#define in_m_varsize
#module "m_varsize"
// val=varsize(p1)
// p1=変数 : サイズを知りたい変数
// サイズ取得成功時には (全体の) サイズが、失敗時には-1が返ります。
#defcfunc varsize var _p1
	dim size
	dim len,4
	dupptr size,varptr(_p1)-16,4
	if vartype(_p1)=2 {
		len=length(_p1),length2(_p1),length3(_p1),length4(_p1)
		repeat 4
		if len(cnt)=0 : len(cnt)++
		loop
		size*=len(0)*len(1)*len(2)*len(3)
	}
return size
#global
#endif