ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/brains/SimCreator.cpp
(Generate patch)

Comparing branches/development/src/brains/SimCreator.cpp (file contents):
Revision 1808 by gezelter, Mon Oct 22 20:42:10 2012 UTC vs.
Revision 1812 by gezelter, Fri Nov 16 21:18:42 2012 UTC

# Line 254 | Line 254 | namespace OpenMD {
254      std::string mdRawData;
255      int metaDataBlockStart = -1;
256      int metaDataBlockEnd = -1;
257 <    int i;
257 >    int i, j;
258      streamoff mdOffset;
259      int mdFileVersion;
260  
261 +    // Create a string for embedding the version information in the MetaData
262 +    std::string version;
263 +    version.assign("## Last run using OpenMD Version: ");
264 +    version.append(OPENMD_VERSION_MAJOR);
265 +    version.append(".");
266 +    version.append(OPENMD_VERSION_MINOR);
267  
268 +    std::string svnrev;
269 +    //convert a macro from compiler to a string in c++
270 +    STR_DEFINE(svnrev, SVN_REV );
271 +    version.append(" Revision: ");
272 +    // If there's no SVN revision, just call this the RELEASE revision.
273 +    if (!svnrev.empty()) {
274 +      version.append(svnrev);
275 +    } else {
276 +      version.append("RELEASE");
277 +    }
278 +  
279   #ifdef IS_MPI            
280      const int masterNode = 0;
281      if (worldRank == masterNode) {
# Line 353 | Line 370 | namespace OpenMD {
370  
371        mdRawData.clear();
372  
373 +      bool foundVersion = false;
374 +
375        for (int i = 0; i < metaDataBlockEnd - metaDataBlockStart - 1; ++i) {
376          mdFile_.getline(buffer, bufferSize);
377 <        mdRawData += buffer;
377 >        std::string line = trimLeftCopy(buffer);
378 >        j = CaseInsensitiveFind(line, "## Last run using OpenMD Version");
379 >        if (static_cast<size_t>(j) != string::npos) {
380 >          foundVersion = true;
381 >          mdRawData += version;
382 >        } else {
383 >          mdRawData += buffer;
384 >        }
385          mdRawData += "\n";
386        }
387 <
387 >      
388 >      if (!foundVersion) mdRawData += version + "\n";
389 >      
390        mdFile_.close();
391  
392   #ifdef IS_MPI

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines