present_objects()

FUNKTION:
     object *present_objects(string desc);

DEFINIERT IN:
     /std/container/restrictions.c

ARGUMENTE:
     desc
          Umschreibung des gesuchten Objektes oder "alles" oder "alle".

BESCHREIBUNG:
     Diese Funktion gibt die Objekte im Inneren des Behaelters zurueck, die
     sich mit desc ansprechen lassen. In dem Fall, dass "alle(s)"
     angefordert wird, sind das alle sichtbaren Objekte, ansonsten das erste
     Objekt, das sich mit desc ansprechen laesst.
     Objekte, die P_INVIS gesetzt haben, zaehlen als nicht ansprechbar, im
     Gegensatz zu solchen Objekten, die keine P_SHORT haben.

RUeCKGABEWERT:
     Ein Array von Objekten mit den geforderten Eigenschaften.

     Befindet sich kein Objekt im Behaelter, das sich durch desc ansprechen
     laesst, so wird ein leeres Array zurueckgegeben.

SIEHE AUCH:
     locate_objects(), /std/container/restrictions.c

----------------------------------------------------------------------------
03.03.2013, Zesstra

