mdbx: env_set_geometry() treat zero-values also as defaults.

Change-Id: If8c6f7d7bbeffe71ae4e28f27184103dd1da257b
This commit is contained in:
Leonid Yuriev 2019-01-14 16:47:14 +03:00
parent 01797cf1bc
commit 14ae9fb2a1

View File

@ -5729,19 +5729,21 @@ LIBMDBX_API int mdbx_env_set_geometry(MDBX_env *env, intptr_t size_lower,
goto bailout;
}
if (size_lower < 0) {
if (size_lower <= 0) {
size_lower = MIN_MAPSIZE;
if (MIN_MAPSIZE / pagesize < MIN_PAGENO)
size_lower = MIN_PAGENO * pagesize;
}
if (size_now < 0) {
if (size_now <= 0) {
size_now = DEFAULT_MAPSIZE;
if (size_now < size_lower)
size_now = size_lower;
if (size_upper >= size_lower && size_now > size_upper)
size_now = size_upper;
}
if (size_upper < 0) {
if (size_upper <= 0) {
if ((size_t)size_now >= MAX_MAPSIZE / 2)
size_upper = MAX_MAPSIZE;
else if (MAX_MAPSIZE != MAX_MAPSIZE32 &&