diff --git a/src/common/kernel/move.c b/src/common/kernel/move.c index 2d7818948..7624d37a9 100644 --- a/src/common/kernel/move.c +++ b/src/common/kernel/move.c @@ -1072,8 +1072,11 @@ cycle_route(order * ord, unit *u, int gereist) } } - strcat(neworder, tail); - norder = create_order(K_ROUTE, u->faction->locale, "%s", neworder); + if (neworder[0]) { + norder = create_order(K_ROUTE, u->faction->locale, "%s %s", neworder, tail); + } else { + norder = create_order(K_ROUTE, u->faction->locale, "%s", tail); + } replace_order(&u->orders, ord, norder); free_order(norder); } diff --git a/src/common/kernel/unit.c b/src/common/kernel/unit.c index f5672ab3b..ab6b7613c 100644 --- a/src/common/kernel/unit.c +++ b/src/common/kernel/unit.c @@ -977,6 +977,7 @@ transfermen(unit * u, unit * u2, int n) remove_skill(u2, sk); sn = NULL; } + assert(u2->number!=0 || (sn->level==sv->level && sn->weeks==sv->weeks)); } a = a_find(u->attribs, &at_effect); while (a && a->type==&at_effect) {