Ejemplo n.º 1
0
//
//  MT_Map: C
//
REBFLG MT_Map(REBVAL *out, REBVAL *data, enum Reb_Kind type)
{
    REBCNT n;
    REBSER *series;

    if (!IS_BLOCK(data) && !IS_MAP(data)) return FALSE;

    n = VAL_BLK_LEN(data);
    if (n & 1) return FALSE;

    series = Make_Map(n/2);

    Append_Map(series, data, UNKNOWN);

    Rehash_Hash(series);

    Val_Init_Map(out, series);

    return TRUE;
}
Ejemplo n.º 2
0
*/	REBFLG MT_Map(REBVAL *out, REBVAL *data, REBCNT type)
/*
***********************************************************************/
{
	REBCNT n;
	REBSER *series;

	if (!IS_BLOCK(data) && !IS_MAP(data)) return FALSE;

	n = VAL_BLK_LEN(data);
	if (n & 1) return FALSE;

	series = Make_Map(n/2);

	//COPY_BLK_PART(series, VAL_BLK_DATA(data), n);
	Append_Map(series, data, UNKNOWN);

	Rehash_Hash(series);

	Set_Series(REB_MAP, out, series);

	return TRUE;
}