Commit bac5d8f9 authored by joreland@mysql.com's avatar joreland@mysql.com

Fix 64-bit issue in ConfigValues

parent 674bbf08
...@@ -261,9 +261,9 @@ directory(Uint32 sz){ ...@@ -261,9 +261,9 @@ directory(Uint32 sz){
ConfigValuesFactory::ConfigValuesFactory(Uint32 keys, Uint32 data){ ConfigValuesFactory::ConfigValuesFactory(Uint32 keys, Uint32 data){
m_sectionCounter = (1 << KP_SECTION_SHIFT); m_sectionCounter = (1 << KP_SECTION_SHIFT);
m_freeKeys = directory(keys); m_freeKeys = directory(keys);
m_freeData = data; m_freeData = (data + 7) & ~7;
m_currentSection = 0; m_currentSection = 0;
m_cfg = create(m_freeKeys, data); m_cfg = create(m_freeKeys, m_freeData);
} }
ConfigValuesFactory::ConfigValuesFactory(ConfigValues * cfg){ ConfigValuesFactory::ConfigValuesFactory(ConfigValues * cfg){
...@@ -316,6 +316,7 @@ ConfigValuesFactory::expand(Uint32 fk, Uint32 fs){ ...@@ -316,6 +316,7 @@ ConfigValuesFactory::expand(Uint32 fk, Uint32 fs){
m_freeKeys = (m_freeKeys >= fk ? m_cfg->m_size : fk + m_cfg->m_size); m_freeKeys = (m_freeKeys >= fk ? m_cfg->m_size : fk + m_cfg->m_size);
m_freeData = (m_freeData >= fs ? m_cfg->m_dataSize : fs + m_cfg->m_dataSize); m_freeData = (m_freeData >= fs ? m_cfg->m_dataSize : fs + m_cfg->m_dataSize);
m_freeKeys = directory(m_freeKeys); m_freeKeys = directory(m_freeKeys);
m_freeData = (m_freeData + 7) & ~7;
ConfigValues * m_tmp = m_cfg; ConfigValues * m_tmp = m_cfg;
m_cfg = create(m_freeKeys, m_freeData); m_cfg = create(m_freeKeys, m_freeData);
...@@ -333,6 +334,7 @@ ConfigValuesFactory::shrink(){ ...@@ -333,6 +334,7 @@ ConfigValuesFactory::shrink(){
m_freeKeys = m_cfg->m_size - m_freeKeys; m_freeKeys = m_cfg->m_size - m_freeKeys;
m_freeData = m_cfg->m_dataSize - m_freeData; m_freeData = m_cfg->m_dataSize - m_freeData;
m_freeKeys = directory(m_freeKeys); m_freeKeys = directory(m_freeKeys);
m_freeData = (m_freeData + 7) & ~7;
ConfigValues * m_tmp = m_cfg; ConfigValues * m_tmp = m_cfg;
m_cfg = create(m_freeKeys, m_freeData); m_cfg = create(m_freeKeys, m_freeData);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment