PIConfig adopt for PIIOString changes

This commit is contained in:
2024-04-05 20:41:07 +03:00
parent ee4d78d2e1
commit 021411defa

View File

@@ -334,7 +334,7 @@ bool PIConfig::open(const PIString & path, PIIODevice::DeviceMode mode) {
bool PIConfig::open(PIString * string, PIIODevice::DeviceMode mode) { bool PIConfig::open(PIString * string, PIIODevice::DeviceMode mode) {
_destroy(); _destroy();
own_dev = true; own_dev = true;
dev = new PIIOString(string, mode); dev = new PIIOString(string, PIIODevice::ReadOnly);
_setupDev(); _setupDev();
parse(); parse();
return true; return true;
@@ -365,10 +365,7 @@ void PIConfig::_init() {
void PIConfig::_destroy() { void PIConfig::_destroy() {
if (stream) { piDeleteSafety(stream);
delete stream;
stream = nullptr;
}
if (own_dev && dev) delete dev; if (own_dev && dev) delete dev;
dev = nullptr; dev = nullptr;
piForeach(PIConfig * c, inc_devs) piForeach(PIConfig * c, inc_devs)
@@ -392,6 +389,7 @@ void PIConfig::_clearDev() {
} }
if (PIString(dev->className()) == "PIIOString") { if (PIString(dev->className()) == "PIIOString") {
((PIIOString *)dev)->clear(); ((PIIOString *)dev)->clear();
((PIIOString *)dev)->setMode(PIIODevice::WriteOnly);
return; return;
} }
} }
@@ -419,6 +417,7 @@ void PIConfig::_seekToBeginDev() {
} }
if (PIString(dev->className()) == "PIIOString") { if (PIString(dev->className()) == "PIIOString") {
((PIIOString *)dev)->seekToBegin(); ((PIIOString *)dev)->seekToBegin();
((PIIOString *)dev)->setMode(PIIODevice::ReadOnly);
return; return;
} }
} }