From f33c875756337544654bc9c8d7b416829b6b843f Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Wed, 27 Jul 2005 12:09:53 +0000 Subject: [PATCH] we can do this reading of orders from the savefile much faster if we remember how lists should be used. --- src/common/kernel/save.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/common/kernel/save.c b/src/common/kernel/save.c index 9b9a8162a..9176ac910 100644 --- a/src/common/kernel/save.c +++ b/src/common/kernel/save.c @@ -1027,6 +1027,7 @@ readunit(FILE * F) potion_t potion; unit * u; int number, n, p; + order ** orderp; n = rid(F); u = findunit(n); @@ -1117,12 +1118,14 @@ readunit(FILE * F) free_orders(&u->orders); freadstr(F, buf, sizeof(buf)); p = n = 0; + orderp = &u->orders; while (*buf != 0) { order * ord = parse_order(buf, u->faction->locale); if (ord!=NULL) { if (++norders, ord); + *orderp = ord; + orderp = &ord->next; } else if (p==MAXPERSISTENT) { log_error(("%s had %d or more persistent orders\n", unitname(u), MAXPERSISTENT)); }