PERL_CONTEXT saved_cx;
I32 cxix;
#endif
- unsigned int had_err, has_err, flags = G_SCALAR | G_EVAL;
+ I32 had_err, has_err, flags = G_SCALAR | G_EVAL;
int ret = 0;
dSP;
PROTOTYPE: DISABLE
PREINIT:
I32 i = 0;
+ UV opinfo;
MGWIZ *w;
MGVTBL *t;
SV *cb;
Newx(w, 1, MGWIZ);
VMG_SET_CB(ST(i++), data);
+
cb = ST(i++);
- w->opinfo = SvOK(cb) ? SvUV(cb) : 0;
+ opinfo = SvOK(cb) ? SvUV(cb) : 0;
+ w->opinfo = (U8) ((opinfo < 255) ? opinfo : 255);
if (w->opinfo)
vmg_op_info_init(w->opinfo);
+
VMG_SET_SVT_CB(ST(i++), get);
VMG_SET_SVT_CB(ST(i++), set);
VMG_SET_SVT_CB(ST(i++), len);