-// Copyright (C) 2014-2021 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2023 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include <PartSetPlugin_Part.h>
-#include <OSD_OpenFile.hxx>
-
#include <fstream>
+#include <iomanip>
+#include <cctype>
+#include <cmath>
// =========== Implementation of storage of dumped data ===========
static const int THE_DUMP_PRECISION = 16;
bool ModelHighAPI_Dumper::DumpStorage::exportTo(const std::string& theFilename,
const ModulesSet& theUsedModules)
{
- std::ofstream aFile;
- OSD_OpenStream(aFile, theFilename.c_str(), std::ofstream::out);
+ std::ofstream aFile(theFilename.c_str(), std::ofstream::out);
if (!aFile.is_open())
return false;
ModelHighAPI_Dumper& ModelHighAPI_Dumper::operator<<(
const std::shared_ptr<ModelAPI_AttributeString>& theAttrStr)
{
- // escaping the quote sign in the string under dumping
+ // escaping the quote signs in the string under dumping
std::string aStr = theAttrStr->value();
+ /*
size_t aPos = aStr.find("\"");
while (aPos != std::string::npos) {
aStr.insert(aPos, "\\");
aPos = aStr.find("\"", aPos + 2);
}
+ aPos = aStr.find("\'");
+ while (aPos != std::string::npos) {
+ aStr.insert(aPos, "\\");
+ aPos = aStr.find("\'", aPos + 2);
+ }
+ */
+ size_t aPos = aStr.find_first_of("\"\'");
+ while (aPos != std::string::npos) {
+ aStr.insert(aPos, "\\");
+ aPos = aStr.find_first_of("\"\'", aPos + 2);
+ }
*myDumpStorage << "'" << aStr << "'";
return *this;
}