// // 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; }
*/ 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; }