aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2014-02-05 00:17:53 -0500
committerkwolekr <kwolekr@minetest.net>2014-02-05 00:17:53 -0500
commit7f743178db2a45bd3f68ef2c9c7df6deca1f3ab6 (patch)
treefe25632e9321e947f110500b3c850c11d466ea79 /src
parentc6c5edd73a97f2991113ba48d9c2415222fe4709 (diff)
downloadminetest-7f743178db2a45bd3f68ef2c9c7df6deca1f3ab6.tar.gz
minetest-7f743178db2a45bd3f68ef2c9c7df6deca1f3ab6.tar.bz2
minetest-7f743178db2a45bd3f68ef2c9c7df6deca1f3ab6.zip
Remove blank default values for emergequeue_limit_* settings
Add checks for invalid user input for important settings Rename Settings::tryGet* to Settings::get*NoEx for consistency
Diffstat (limited to 'src')
-rw-r--r--src/defaultsettings.cpp2
-rw-r--r--src/emerge.cpp24
-rw-r--r--src/mapgen_indev.cpp2
-rw-r--r--src/mapgen_v6.cpp6
-rw-r--r--src/mapgen_v7.cpp2
-rw-r--r--src/settings.h22
6 files changed, 32 insertions, 26 deletions
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index cb7b0ef7a..bac5e0e2d 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -219,8 +219,6 @@ void set_default_settings(Settings *settings)
settings->setDefault("remote_media", "");
settings->setDefault("debug_log_level", "2");
settings->setDefault("emergequeue_limit_total", "256");
- settings->setDefault("emergequeue_limit_diskonly", "");
- settings->setDefault("emergequeue_limit_generate", "");
settings->setDefault("num_emerge_threads", "1");
// physics stuff
diff --git a/src/emerge.cpp b/src/emerge.cpp
index 42e533759..88bb3a1e6 100644
--- a/src/emerge.cpp
+++ b/src/emerge.cpp
@@ -102,17 +102,25 @@ EmergeManager::EmergeManager(IGameDef *gamedef) {
// if unspecified, leave a proc for the main thread and one for
// some other misc thread
int nthreads = 0;
- if (!g_settings->tryGetS16("num_emerge_threads", nthreads))
+ if (!g_settings->getS16NoEx("num_emerge_threads", nthreads))
nthreads = porting::getNumberOfProcessors() - 2;
if (nthreads < 1)
nthreads = 1;
qlimit_total = g_settings->getU16("emergequeue_limit_total");
- if (!g_settings->tryGetU16("emergequeue_limit_diskonly", qlimit_diskonly))
+ if (!g_settings->getU16NoEx("emergequeue_limit_diskonly", qlimit_diskonly))
qlimit_diskonly = nthreads * 5 + 1;
- if (!g_settings->tryGetU16("emergequeue_limit_generate", qlimit_generate))
+ if (!g_settings->getU16NoEx("emergequeue_limit_generate", qlimit_generate))
qlimit_generate = nthreads + 1;
+ // don't trust user input for something very important like this
+ if (qlimit_total < 1)
+ qlimit_total = 1;
+ if (qlimit_diskonly < 1)
+ qlimit_diskonly = 1;
+ if (qlimit_generate < 1)
+ qlimit_generate = 1;
+
for (int i = 0; i != nthreads; i++)
emergethread.push_back(new EmergeThread((Server *)gamedef, i));
@@ -352,13 +360,13 @@ void EmergeManager::loadParamsFromSettings(Settings *settings) {
std::string seed_str;
const char *setname = (settings == g_settings) ? "fixed_map_seed" : "seed";
- if (settings->tryGet(setname, seed_str))
+ if (settings->getNoEx(setname, seed_str))
params.seed = read_seed(seed_str.c_str());
- settings->tryGet("mg_name", params.mg_name);
- settings->tryGetS16("water_level", params.water_level);
- settings->tryGetS16("chunksize", params.chunksize);
- settings->tryGetFlagStr("mg_flags", params.flags, flagdesc_mapgen);
+ settings->getNoEx("mg_name", params.mg_name);
+ settings->getS16NoEx("water_level", params.water_level);
+ settings->getS16NoEx("chunksize", params.chunksize);
+ settings->getFlagStrNoEx("mg_flags", params.flags, flagdesc_mapgen);
delete params.sparams;
params.sparams = createMapgenParams(params.mg_name);
diff --git a/src/mapgen_indev.cpp b/src/mapgen_indev.cpp
index 67535b0b4..ac5b4e811 100644
--- a/src/mapgen_indev.cpp
+++ b/src/mapgen_indev.cpp
@@ -164,7 +164,7 @@ MapgenIndevParams::MapgenIndevParams() {
void MapgenIndevParams::readParams(Settings *settings) {
MapgenV6Params::readParams(settings);
- settings->tryGetS16("mgindev_float_islands", float_islands);
+ settings->getS16NoEx("mgindev_float_islands", float_islands);
settings->getNoiseIndevParams("mgindev_np_terrain_base", npindev_terrain_base);
settings->getNoiseIndevParams("mgindev_np_terrain_higher", npindev_terrain_higher);
diff --git a/src/mapgen_v6.cpp b/src/mapgen_v6.cpp
index 526d4af2e..92ae7dff0 100644
--- a/src/mapgen_v6.cpp
+++ b/src/mapgen_v6.cpp
@@ -112,9 +112,9 @@ MapgenV6Params::MapgenV6Params() {
void MapgenV6Params::readParams(Settings *settings) {
- settings->tryGetFlagStr("mgv6_spflags", spflags, flagdesc_mapgen_v6);
- settings->tryGetFloat("mgv6_freq_desert", freq_desert);
- settings->tryGetFloat("mgv6_freq_beach", freq_beach);
+ settings->getFlagStrNoEx("mgv6_spflags", spflags, flagdesc_mapgen_v6);
+ settings->getFloatNoEx("mgv6_freq_desert", freq_desert);
+ settings->getFloatNoEx("mgv6_freq_beach", freq_beach);
settings->getNoiseParams("mgv6_np_terrain_base", np_terrain_base);
settings->getNoiseParams("mgv6_np_terrain_higher", np_terrain_higher);
diff --git a/src/mapgen_v7.cpp b/src/mapgen_v7.cpp
index 77e25a672..835915164 100644
--- a/src/mapgen_v7.cpp
+++ b/src/mapgen_v7.cpp
@@ -126,7 +126,7 @@ MapgenV7Params::MapgenV7Params() {
void MapgenV7Params::readParams(Settings *settings) {
- settings->tryGetFlagStr("mgv7_spflags", spflags, flagdesc_mapgen_v7);
+ settings->getFlagStrNoEx("mgv7_spflags", spflags, flagdesc_mapgen_v7);
settings->getNoiseParams("mgv7_np_terrain_base", np_terrain_base);
settings->getNoiseParams("mgv7_np_terrain_alt", np_terrain_alt);
diff --git a/src/settings.h b/src/settings.h
index f019ce50c..cf698b0eb 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -745,7 +745,7 @@ fail:
}
//////////// Try to get value, no exception thrown
- bool tryGet(std::string name, std::string &val)
+ bool getNoEx(std::string name, std::string &val)
{
try {
val = get(name);
@@ -755,7 +755,7 @@ fail:
}
}
- bool tryGetFlagStr(std::string name, u32 &val, FlagDesc *flagdesc)
+ bool getFlagStrNoEx(std::string name, u32 &val, FlagDesc *flagdesc)
{
try {
val = getFlagStr(name, flagdesc);
@@ -765,7 +765,7 @@ fail:
}
}
- bool tryGetFloat(std::string name, float &val)
+ bool getFloatNoEx(std::string name, float &val)
{
try {
val = getFloat(name);
@@ -775,7 +775,7 @@ fail:
}
}
- bool tryGetU16(std::string name, int &val)
+ bool getU16NoEx(std::string name, int &val)
{
try {
val = getU16(name);
@@ -785,7 +785,7 @@ fail:
}
}
- bool tryGetU16(std::string name, u16 &val)
+ bool getU16NoEx(std::string name, u16 &val)
{
try {
val = getU16(name);
@@ -795,7 +795,7 @@ fail:
}
}
- bool tryGetS16(std::string name, int &val)
+ bool getS16NoEx(std::string name, int &val)
{
try {
val = getU16(name);
@@ -805,7 +805,7 @@ fail:
}
}
- bool tryGetS16(std::string name, s16 &val)
+ bool getS16NoEx(std::string name, s16 &val)
{
try {
val = getS16(name);
@@ -815,7 +815,7 @@ fail:
}
}
- bool tryGetS32(std::string name, s32 &val)
+ bool getS32NoEx(std::string name, s32 &val)
{
try {
val = getS32(name);
@@ -825,7 +825,7 @@ fail:
}
}
- bool tryGetV3F(std::string name, v3f &val)
+ bool getV3FNoEx(std::string name, v3f &val)
{
try {
val = getV3F(name);
@@ -835,7 +835,7 @@ fail:
}
}
- bool tryGetV2F(std::string name, v2f &val)
+ bool getV2FNoEx(std::string name, v2f &val)
{
try {
val = getV2F(name);
@@ -845,7 +845,7 @@ fail:
}
}
- bool tryGetU64(std::string name, u64 &val)
+ bool getU64NoEx(std::string name, u64 &val)
{
try {
val = getU64(name);