Beispiel und Bemerkung gefixt.
varargs aus Beispiel entfernt.
Klarer formuliert, dass Bewegung ist nicht garantiert ist,
auch nicht bei M_NOCHECK.
In rst ueberfuehrt.
Change-Id: Id28ad39a4eb7b3bc87f4f4f08fc7085a7f67468b
diff --git a/doc/sphinx/lfun/PreventInsert.rst b/doc/sphinx/lfun/PreventInsert.rst
index 2e42639..80d7a0e 100644
--- a/doc/sphinx/lfun/PreventInsert.rst
+++ b/doc/sphinx/lfun/PreventInsert.rst
@@ -3,70 +3,69 @@
FUNKTION
--------
-::
int PreventInsert(object ob);
DEFINIERT IN
------------
-::
/std/container/restrictions.c
ARGUMENTE
---------
-::
ob
Das Objekt, das in den Behaelter eingefuegt werden soll.
BESCHREIBUNG
------------
-::
Mit dieser Funktion kann ein Behaelter pruefen, ob er das Objekt ob
aufnehmen moechte oder nicht.
-RUeCKGABEWERT
--------------
-::
-
- 0, wenn das Objekt aufgenommen werden kann; ein Wert groesser als 0
- zeigt an, dass das Objekt nicht aufgenommen werden soll.
-
-BEMERKUNGEN
------------
-::
+ Man beachte bitte, dass nach dieser Funktion *nicht* garantiert ist,
+ dass das Objekt wirklich bewegt wird, es handelt sich lediglich um die
+ Abfrage der Erlaubnis! Die Bewegung kann aus einer Vielzahl an Gruenden
+ noch abgebrochen werden.
Wenn ob mit dem Flag M_NOCHECK bewegt wird, wird PreventInsert() zwar
- aufgerufen, das Objekt wird jedoch auf jeden Fall in den Behaelter
- bewegt, unabhaengig vom Rueckgabewert!
+ aufgerufen, aber das Ergebnis ignoriert, d.h. die Aufnahme kann in dem
+ Fall nicht verhindert werden.
+
+RUeCKGABEWERT
+-------------
+
+ 0
+ wenn das Objekt aufgenommen werden kann;
+ > 0
+ ein Wert groesser als 0 zeigt an, dass das Objekt nicht aufgenommen
+ werden soll.
BEISPIELE
---------
-::
Um zu verhindern, dass man Geld in einen Behaelter stecken kann, sollte
man wie folgt vorgehen:
- varargs int PreventInsert(object ob)
- {
- // Wenn es Geld ist, erheben wir sofort Einspruch
- if (ob->id("geld"))
- return 1;
- // Ansonsten koennte ein ererbtes Objekt noch Einspruch erheben!
- else
- return ::PreventInsert(ob);
- }
+ .. code-block:: pike
+
+ public int PreventInsert(object ob)
+ {
+ // Wenn es Geld ist, erheben wir sofort Einspruch
+ if (ob->id("geld"))
+ return 1;
+ // Ansonsten koennte ein ererbtes Objekt noch Einspruch erheben!
+ else
+ return ::PreventInsert(ob);
+ }
SIEHE AUCH
----------
-::
- PreventLeave(), NotifyInsert(), NotifyLeave(), MayAddObject(),
- PreventInsertLiving(), PreventLeaveLiving(), NotifyMove(),
- PreventMove(), MayAddWeight(), move(), /std/container/restrictions.c
+ :doc:`PreventLeave`, :doc:`NotifyInsert`, :doc:`NotifyLeave`,
+ :doc:`MayAddObject`, :doc:`MayAddWeight`, :doc:`PreventInsertLiving`,
+ :doc:`PreventLeaveLiving`, :doc:`NotifyMove`, :doc:`PreventMove`,
+ :doc:`move`, /std/container/restrictions.c
-
-Last modified: Sat Dec 18 02:00:00 1999 by Tiamak
+Last modified: 30.01.2020, Zesstra