Fehler melden bei multiplem create()
Wenn an einem Objekt mehrfach create() gerufen wird,
ist das normalerweise ein Fehler, welcher es im
Zweifelsfall kaputt macht. Da diese Fehler aber
schwer zu finden sind (die Auswirkungen kommen
meist erst viel spaeter), gibt es jetzt ne
Meldung, wenn create() feststellt, dass das Objekt
offenbar schon initialisiert ist.
Change-Id: Id0532c7cc79bfd8c8f23376d648a525bd5fb2dec
diff --git a/std/thing.c b/std/thing.c
index 908b6c1..6198675 100644
--- a/std/thing.c
+++ b/std/thing.c
@@ -23,6 +23,13 @@
{
seteuid(getuid());
properties::create();
+ // Wenn das Objekt jetzt schon ein gueltiges P_CLONER hat, wurde create()
+ // zweimal gerufen. Dies ist ein Fehler und vermutlich ist das Objekt
+ // jetzt kaputt.
+ if (stringp(QueryProp(P_CLONER)))
+ catch(raise_error("create() wurde ein zweites Mal gerufen. Dieses "
+ "Objekt ist nun vermutlich kaputt.\n"); publish);
+
light::create();
commands::create();
description::create();