SYNOPSIS
        mapping m_reallocate(mapping m, int width);

BESCHREIBUNG
        Erzeugt ein neues Mapping mit <width> Werten pro Key und fuellt das
        Mapping mit den Werten aus <m>. Wenn <m> weniger als <width> Werte
        pro Key hat, werden im neuen Mapping die restlichen Werte auf 0
        gesetzt. Wenn <m> mehr als <width> Werte pro Key hat, werden die
        ueberzaehligen Werte ignoriert.

        Das urspruengliche Mapping <m> wird nicht veraendert.

BEISPIEL
        mapping m = ([ "foo":1;2;3, "bar":4;5;6 ])

        m_reallocate(m, 1) --> liefert ([ "foo":1,       "bar:4 ])
        m_reallocate(m, 4) --> liefert ([ "foo":1;2;3;0, "bar:4;5;6;0 ])

AENDERUNGEN
    Eingefuehrt in LDMud 3.2.6, auf Vorschlag von TubMud.

SIEHE AUCH
        m_allocate(E), m_values(E), widthof(E)
