Ejemplo n.º 1
0
*/	void Trap_Num(REBCNT err, REBCNT num)
/*
***********************************************************************/
{
	DS_PUSH_INTEGER(num);
	Trap1(err, DS_TOP);
}
Ejemplo n.º 2
0
static int Do_Ordinal(REBVAL *ds, REBINT n)
{
	// Is only valid when returned from ACTION function itself.
	REBACT action = Value_Dispatch[VAL_TYPE(D_ARG(1))];
	DS_PUSH_INTEGER(n);
	//DSF_FUNC(ds) // needs to be set to PICK action!
	return action(ds, A_PICK);  // returns R_RET and other cases
}
Ejemplo n.º 3
0
*/	void Trap_Port(REBCNT errnum, REBSER *port, REBINT err_code)
/*
***********************************************************************/
{
	REBVAL *spec = OFV(port, STD_PORT_SPEC);
	REBVAL *val;

	if (!IS_OBJECT(spec)) Trap0(RE_INVALID_PORT);

	val = Get_Object(spec, STD_PORT_SPEC_HEAD_REF); // most informative
	if (IS_NONE(val)) val = Get_Object(spec, STD_PORT_SPEC_HEAD_TITLE);

	DS_PUSH_INTEGER(err_code);
	Trap2(errnum, val, DS_TOP);
}