diff --git a/src/kernel/alliance.c b/src/kernel/alliance.c index c9bd26f40..c351ba5ee 100644 --- a/src/kernel/alliance.c +++ b/src/kernel/alliance.c @@ -288,7 +288,7 @@ static void perform_join(void) static syntaxtree * build_syntax(void) { syntaxtree *slang, *stree = stree_create(); for (slang = stree; slang; slang = slang->next) { - void *leaf = 0; + struct tnode *leaf = 0; add_command(&leaf, NULL, LOC(slang->lang, alliance_kwd[ALLIANCE_KICK]), &cmd_kick); add_command(&leaf, NULL, LOC(slang->lang, alliance_kwd[ALLIANCE_LEAVE]), &cmd_leave); add_command(&leaf, NULL, LOC(slang->lang, alliance_kwd[ALLIANCE_TRANSFER]), &cmd_transfer); diff --git a/src/kernel/command.c b/src/kernel/command.c index a667edabc..6f1c18809 100644 --- a/src/kernel/command.c +++ b/src/kernel/command.c @@ -68,7 +68,7 @@ syntaxtree *stree_create(void) } void -add_command(void **keys, void *tnext, +add_command(struct tnode **keys, void *tnext, const char *str, parser fun) { command *cmd = (command *)malloc(sizeof(command)); @@ -78,10 +78,10 @@ const char *str, parser fun) cmd->fun = fun; cmd->nodes = tnext; var.v = cmd; - addtoken((struct tnode **)keys, str, var); + addtoken(keys, str, var); } -static int do_command_i(const void *keys, struct unit *u, struct order *ord) +static int do_command_i(const struct tnode *keys, struct unit *u, struct order *ord) { char token[128]; const char *c; @@ -102,7 +102,7 @@ static int do_command_i(const void *keys, struct unit *u, struct order *ord) return E_TOK_NOMATCH; } -void do_command(const void *keys, struct unit *u, struct order *ord) +void do_command(const struct tnode *keys, struct unit *u, struct order *ord) { init_order(ord); if (do_command_i(keys, u, ord) != E_TOK_SUCCESS) { diff --git a/src/kernel/command.h b/src/kernel/command.h index 70b03a3a6..e8d6bbaf2 100644 --- a/src/kernel/command.h +++ b/src/kernel/command.h @@ -19,17 +19,18 @@ extern "C" { struct locale; struct order; struct unit; + struct tnode; typedef struct syntaxtree { const struct locale *lang; - void *root; + struct tnode *root; struct syntaxtree *next; } syntaxtree; typedef void(*parser) (const void *nodes, struct unit * u, struct order *); - void add_command(void **troot, void *tnext, + void add_command(struct tnode **troot, void *tnext, const char *str, parser fun); - void do_command(const void *troot, struct unit *u, struct order *); + void do_command(const struct tnode *troot, struct unit *u, struct order *); struct syntaxtree *stree_create(void); void stree_free(struct syntaxtree *); diff --git a/src/kernel/config.test.c b/src/kernel/config.test.c index d5b46581c..6bc193bbf 100644 --- a/src/kernel/config.test.c +++ b/src/kernel/config.test.c @@ -21,7 +21,7 @@ static void test_read_unitid(CuTest *tc) { struct locale *lang; struct terrain_type *t_plain; - test_cleanup(); + test_setup(); lang = test_create_locale(); /* note that the english order is FIGHT, not COMBAT, so this is a poor example */ t_plain = test_create_terrain("plain", LAND_REGION); @@ -66,7 +66,7 @@ static void test_getunit(CuTest *tc) { struct locale *lang; struct terrain_type *t_plain; - test_cleanup(); + test_setup(); lang = test_create_locale(); /* note that the english order is FIGHT, not COMBAT, so this is a poor example */ t_plain = test_create_terrain("plain", LAND_REGION); @@ -122,7 +122,7 @@ static void test_getunit(CuTest *tc) { static void test_get_set_param(CuTest * tc) { struct param *par = 0; - test_cleanup(); + test_setup(); CuAssertStrEquals(tc, 0, get_param(par, "foo")); set_param(&par, "foo", "bar"); set_param(&par, "bar", "foo"); @@ -139,7 +139,7 @@ static void test_get_set_param(CuTest * tc) static void test_param_int(CuTest * tc) { struct param *par = 0; - test_cleanup(); + test_setup(); CuAssertIntEquals(tc, 13, get_param_int(par, "foo", 13)); set_param(&par, "foo", "23"); set_param(&par, "bar", "42"); @@ -152,7 +152,7 @@ static void test_param_int(CuTest * tc) static void test_param_flt(CuTest * tc) { struct param *par = 0; - test_cleanup(); + test_setup(); CuAssertDblEquals(tc, 13, get_param_flt(par, "foo", 13), 0.01); set_param(&par, "foo", "23.0"); set_param(&par, "bar", "42.0"); @@ -176,16 +176,17 @@ static void test_default_order(CuTest *tc) { order *ord; struct locale * loc; - test_cleanup(); + test_setup(); loc = test_create_locale(); ord = default_order(loc); CuAssertPtrEquals(tc, 0, ord); + free_order(ord); config_set("orders.default", "work"); ord = default_order(loc); CuAssertPtrNotNull(tc, ord); CuAssertIntEquals(tc, K_WORK, getkeyword(ord)); - CuAssertPtrEquals(tc, ord->data, default_order(loc)->data); + free_order(ord); test_cleanup(); }