forked from github/server
bug 2292: set mailcmd from eressea.ini
this fixes https://bugs.eressea.de/view.php?id=2292
This commit is contained in:
parent
45854851ae
commit
4502141c5b
|
@ -833,17 +833,21 @@ const char * game_name(void)
|
||||||
return param ? param : global.gamename;
|
return param ? param : global.gamename;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char * game_name_upper(void)
|
const char * game_mailcmd(void)
|
||||||
{
|
{
|
||||||
static char result[32]; /* FIXME: static result */
|
const char *param = config_get("game.mailcmd");
|
||||||
char *r = result;
|
if (!param) {
|
||||||
const char *param = game_name();
|
static char result[32]; /* FIXME: static result */
|
||||||
const char *c = param;
|
char *r = result;
|
||||||
while (*c && (result+sizeof(result))>r) {
|
const char *c;
|
||||||
*r++ = (char)toupper(*c++);
|
param = game_name();
|
||||||
|
for (c = param; *c && (result + sizeof(result)) > r; ++c) {
|
||||||
|
*r++ = (char)toupper(*c);
|
||||||
|
}
|
||||||
|
*r = '\0';
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
*r = '\0';
|
return param;
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int game_id(void) {
|
int game_id(void) {
|
||||||
|
|
|
@ -51,7 +51,7 @@ extern "C" {
|
||||||
param_t getparam(const struct locale *lang);
|
param_t getparam(const struct locale *lang);
|
||||||
|
|
||||||
const char * game_name(void);
|
const char * game_name(void);
|
||||||
const char * game_name_upper(void);
|
const char * game_mailcmd(void);
|
||||||
int game_id(void);
|
int game_id(void);
|
||||||
/* returns a value between [0..xpct_2], generated with two dice */
|
/* returns a value between [0..xpct_2], generated with two dice */
|
||||||
|
|
||||||
|
|
|
@ -245,7 +245,6 @@ static void test_config_inifile(CuTest *tc) {
|
||||||
config_set_from(ini);
|
config_set_from(ini);
|
||||||
CuAssertStrEquals(tc, "Eressea", config_get("game.name"));
|
CuAssertStrEquals(tc, "Eressea", config_get("game.name"));
|
||||||
CuAssertStrEquals(tc, "Eressea", game_name());
|
CuAssertStrEquals(tc, "Eressea", game_name());
|
||||||
CuAssertStrEquals(tc, "ERESSEA", game_name_upper());
|
|
||||||
CuAssertIntEquals(tc, 42, game_id());
|
CuAssertIntEquals(tc, 42, game_id());
|
||||||
iniparser_freedict(ini);
|
iniparser_freedict(ini);
|
||||||
test_cleanup();
|
test_cleanup();
|
||||||
|
@ -274,6 +273,18 @@ static void test_findparam(CuTest *tc) {
|
||||||
test_cleanup();
|
test_cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_game_mailcmd(CuTest *tc) {
|
||||||
|
test_setup();
|
||||||
|
CuAssertStrEquals(tc, "Eressea", game_name());
|
||||||
|
CuAssertStrEquals(tc, "ERESSEA", game_mailcmd());
|
||||||
|
config_set("game.name", "Hodor");
|
||||||
|
CuAssertStrEquals(tc, "Hodor", game_name());
|
||||||
|
CuAssertStrEquals(tc, "HODOR", game_mailcmd());
|
||||||
|
config_set("game.mailcmd", "ERESSEA");
|
||||||
|
CuAssertStrEquals(tc, "ERESSEA", game_mailcmd());
|
||||||
|
test_cleanup();
|
||||||
|
}
|
||||||
|
|
||||||
CuSuite *get_config_suite(void)
|
CuSuite *get_config_suite(void)
|
||||||
{
|
{
|
||||||
CuSuite *suite = CuSuiteNew();
|
CuSuite *suite = CuSuiteNew();
|
||||||
|
@ -287,6 +298,7 @@ CuSuite *get_config_suite(void)
|
||||||
SUITE_ADD_TEST(suite, test_getunit);
|
SUITE_ADD_TEST(suite, test_getunit);
|
||||||
SUITE_ADD_TEST(suite, test_read_unitid);
|
SUITE_ADD_TEST(suite, test_read_unitid);
|
||||||
SUITE_ADD_TEST(suite, test_default_order);
|
SUITE_ADD_TEST(suite, test_default_order);
|
||||||
|
SUITE_ADD_TEST(suite, test_game_mailcmd);
|
||||||
SUITE_ADD_TEST(suite, test_rules);
|
SUITE_ADD_TEST(suite, test_rules);
|
||||||
return suite;
|
return suite;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1945,7 +1945,7 @@ static void eval_regions(struct opstack **stack, const void *userdata)
|
||||||
const char *get_mailcmd(const struct locale *loc)
|
const char *get_mailcmd(const struct locale *loc)
|
||||||
{
|
{
|
||||||
static char result[64]; /* FIXME: static return buffer */
|
static char result[64]; /* FIXME: static return buffer */
|
||||||
snprintf(result, sizeof(result), "%s %d %s", game_name_upper(), game_id(), LOC(loc, "mailcmd"));
|
snprintf(result, sizeof(result), "%s %d %s", game_mailcmd(), game_id(), LOC(loc, "mailcmd"));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue