BUG: Fix encoding and add deleting to the test
This commit is contained in:
parent
9b486bacfc
commit
767057f37f
|
@ -525,7 +525,7 @@ bool RegistryHelper::Close()
|
||||||
it != this->EntriesMap.end();
|
it != this->EntriesMap.end();
|
||||||
++ it )
|
++ it )
|
||||||
{
|
{
|
||||||
*ofs << it->first.c_str() << " = " << it->second.c_str()<< kwsys_ios::endl;
|
*ofs << it->first.c_str() << " = " << this->EncodeValue(it->second.c_str()).c_str() << kwsys_ios::endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this->EntriesMap.erase(
|
this->EntriesMap.erase(
|
||||||
|
@ -660,7 +660,7 @@ bool RegistryHelper::SetValue(const char *skey, const char *value)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
this->EntriesMap[key] = this->EncodeValue(value);
|
this->EntriesMap[key] = value;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -744,7 +744,7 @@ kwsys_stl::string RegistryHelper::EncodeKey(const char* str)
|
||||||
{
|
{
|
||||||
switch ( *str )
|
switch ( *str )
|
||||||
{
|
{
|
||||||
case '%': case '=': case '\n': case '\r': case '\t': case ' ':
|
case '%': case '=': case '\n': case '\r': case '\t':
|
||||||
char buffer[4];
|
char buffer[4];
|
||||||
sprintf(buffer, "%%%02X", *str);
|
sprintf(buffer, "%%%02X", *str);
|
||||||
ostr << buffer;
|
ostr << buffer;
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
kwsys_ios::cout << "Error in: " << #x << kwsys_ios::endl; \
|
kwsys_ios::cout << "Error in: " << #x << kwsys_ios::endl; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define CHE(x,y,res) if ( strcmp(x,y) ) \
|
#define CHE(x,y,res) if ( x && y && strcmp(x,y) ) \
|
||||||
{ \
|
{ \
|
||||||
res = 1; \
|
res = 1; \
|
||||||
kwsys_ios::cout << "Error, " << x << " != " << y << kwsys_ios::endl; \
|
kwsys_ios::cout << "Error, " << x << " != " << y << kwsys_ios::endl; \
|
||||||
|
@ -90,10 +90,14 @@ int main(int, char**)
|
||||||
IFT(reg.SetValue("TestSubkeyWithVeryLongInFactSoLongItsHardToImagineAnybodyWouldReallyDoItLongName", "TestKey1", longStringWithNewLines), res);
|
IFT(reg.SetValue("TestSubkeyWithVeryLongInFactSoLongItsHardToImagineAnybodyWouldReallyDoItLongName", "TestKey1", longStringWithNewLines), res);
|
||||||
IFT(reg.ReadValue("TestSubkeyWithVeryLongInFactSoLongItsHardToImagineAnybodyWouldReallyDoItLongName", "TestKey1", &buffer), res);
|
IFT(reg.ReadValue("TestSubkeyWithVeryLongInFactSoLongItsHardToImagineAnybodyWouldReallyDoItLongName", "TestKey1", &buffer), res);
|
||||||
CHE(buffer, longStringWithNewLines, res);
|
CHE(buffer, longStringWithNewLines, res);
|
||||||
|
IFT(reg.DeleteValue("TestSubkeyWithVeryLongInFactSoLongItsHardToImagineAnybodyWouldReallyDoItLongName", "TestKey1"), res);
|
||||||
|
IFNT(reg.ReadValue("TestSubkeyWithVeryLongInFactSoLongItsHardToImagineAnybodyWouldReallyDoItLongName", "TestKey1", &buffer), res);
|
||||||
|
|
||||||
IFT(reg.SetValue("TestSubkeyWith = EqualSignChar", "TestKey = 1", "Some value"), res);
|
IFT(reg.SetValue("TestSubkeyWith = EqualSignChar", "TestKey = 1", "Some value"), res);
|
||||||
IFT(reg.ReadValue("TestSubkeyWith = EqualSignChar", "TestKey = 1", &buffer), res);
|
IFT(reg.ReadValue("TestSubkeyWith = EqualSignChar", "TestKey = 1", &buffer), res);
|
||||||
CHE(buffer, "Some value", res);
|
CHE(buffer, "Some value", res);
|
||||||
|
IFT(reg.DeleteValue("TestSubkeyWith = EqualSignChar", "TestKey = 1"), res);
|
||||||
|
IFNT(reg.ReadValue("TestSubkeyWith = EqualSignChar", "TestKey = 1", &buffer), res);
|
||||||
|
|
||||||
if ( res )
|
if ( res )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue