]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
For users having field names with white space at the end
authorAnthony Geay <anthony.geay@edf.fr>
Tue, 12 Sep 2017 12:12:41 +0000 (14:12 +0200)
committerAnthony Geay <anthony.geay@edf.fr>
Tue, 12 Sep 2017 12:12:41 +0000 (14:12 +0200)
src/MEDLoader/MEDFileField.cxx
src/MEDLoader/MEDFileField.hxx

index 378e7094f178d4732b38225b0f453bd3d53ff6ad..cff3ef75c8f64f06579d6c569ac15e79f3c4a617 100644 (file)
@@ -5077,6 +5077,19 @@ void MEDFileAnyTypeField1TSWithoutSDA::writeLL(med_idt fid, const MEDFileWritabl
   _field_per_mesh[0]->writeLL(fid,nasc);
 }
 
+/*!
+ * MED file does not support ' ' at the end of the field name. This method corrects the possibly invalid input \a nonCorrectFieldName to a correct one by right stripping input.
+ */
+std::string MEDFileAnyTypeField1TSWithoutSDA::FieldNameToMEDFileConvention(const std::string& nonCorrectFieldName)
+{
+  std::string::size_type pos0(nonCorrectFieldName.find_last_not_of(' '));
+  if(pos0==std::string::npos)
+    return nonCorrectFieldName;
+  if(pos0+1==nonCorrectFieldName.length())
+    return nonCorrectFieldName;
+  return nonCorrectFieldName.substr(0,pos0+1);
+}
+
 /*!
  * This methods returns true is the allocation has been needed leading to a modification of state in \a this->_nb_of_tuples_to_be_allocated.
  * If false is returned the memory allocation is not required.
index 2749a349a78a1c3e13431c8f9d0e18e11f746f2c..dc39fba0b3d713a254a93488f9961dcd43104fb6 100644 (file)
@@ -662,6 +662,7 @@ namespace MEDCoupling
     MEDLOADER_EXPORT void loadStructureAndBigArraysRecursively(med_idt fid, const MEDFileFieldNameScope& nasc, const MEDFileMeshes *ms, const MEDFileEntities *entities);
     MEDLOADER_EXPORT void unloadArrays();
     MEDLOADER_EXPORT void writeLL(med_idt fid, const MEDFileWritable& opts, const MEDFileFieldNameScope& nasc) const;
+    MEDLOADER_EXPORT static std::string FieldNameToMEDFileConvention(const std::string& nonCorrectFieldName);
   protected:
     int getMeshIdFromMeshName(const std::string& mName) const;
     int addNewEntryIfNecessary(const MEDCouplingMesh *mesh);