--- deliantra/server/common/object.C 2006/12/11 21:32:16 1.61 +++ deliantra/server/common/object.C 2006/12/11 23:35:37 1.62 @@ -2526,34 +2526,38 @@ object * object_create_clone (object *asrc) { - object * - dst = NULL, *tmp, *src, *part, *prev, *item; + object *dst = 0, *tmp, *src, *part, *prev, *item; if (!asrc) - return NULL; + return 0; + src = asrc; if (src->head) src = src->head; - prev = NULL; + prev = 0; for (part = src; part; part = part->more) { tmp = get_object (); copy_object (part, tmp); tmp->x -= src->x; tmp->y -= src->y; + if (!part->head) { dst = tmp; - tmp->head = NULL; + tmp->head = 0; } else { tmp->head = dst; } - tmp->more = NULL; + + tmp->more = 0; + if (prev) prev->more = tmp; + prev = tmp; }