]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
Fix from E.Adam to solve problem for studies with string notebook variables.
authorvsr <vsr@opencascade.com>
Fri, 19 Nov 2010 12:05:14 +0000 (12:05 +0000)
committervsr <vsr@opencascade.com>
Fri, 19 Nov 2010 12:05:14 +0000 (12:05 +0000)
src/SALOMEDSImpl/SALOMEDSImpl_ScalarVariable.cxx

index e6bb38616a3cc712e12a291ef5cda7b6eaf34d9b..1bd9fb353129be07dc58bb37569dbaa6034d2835 100644 (file)
@@ -122,7 +122,7 @@ std::string SALOMEDSImpl_ScalarVariable::Save() const{
       }
     case SALOMEDSImpl_GenericVariable::STRING_VAR:
       {
-        sprintf(buffer, "\"%s\"", myStrValue.c_str());
+        sprintf(buffer, "%s", myStrValue.c_str());
         break;
       }
     default:break;
@@ -187,11 +187,15 @@ void SALOMEDSImpl_ScalarVariable::Load(const std::string& theStrValue)
 {
   Kernel_Utils::Localizer loc;
 
+  std::string strCopy = theStrValue;
   if ( Type() == SALOMEDSImpl_GenericVariable::STRING_VAR ) {
-    setStringValue( theStrValue );
+#ifdef OLDSTUDY_COMPATIBILITY
+    if (strCopy.size() > 1 && strCopy[0] == '\"' && strCopy[strCopy.size()-1] == '\"')
+      strCopy = strCopy.substr(1, strCopy.size()-2);
+#endif // OLDSTUDY_COMPATIBILITY
+    setStringValue( strCopy );
   }
   else {
-    std::string strCopy = theStrValue;
 #ifdef OLDSTUDY_COMPATIBILITY
     int dotpos = strCopy.find(',');
     if (dotpos != std::string::npos)