From 56fc9552a4957b765197388be4e70a7fcbacaca8 Mon Sep 17 00:00:00 2001 From: Giovanni Bussi <giovanni.bussi@gmail.com> Date: Tue, 2 Jul 2019 16:28:49 +0200 Subject: [PATCH] Using h36encode in another place cc: @gtribello This code is not going through regtests https://www.plumed.org/coverage-master/coverage/tools/PDB.cpp.gcov.html so I am a bit worried in editing it --- src/tools/PDB.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/tools/PDB.cpp b/src/tools/PDB.cpp index b42d8fd06..77e7e464d 100644 --- a/src/tools/PDB.cpp +++ b/src/tools/PDB.cpp @@ -546,8 +546,12 @@ void PDB::print( const double& lunits, SetupMolInfo* mymoldat, OFile& ofile, con } } else { for(unsigned i=0; i<positions.size(); ++i) { - ofile.printf("ATOM %5d %-4s %3s %4u %8.3f%8.3f%8.3f%6.2f%6.2f\n", - numbers[i].serial(), mymoldat->getAtomName(numbers[i]).c_str(), + std::array<char,6> at; + const char* msg = h36::hy36encode(5,numbers[i].serial(),&at[0]); + plumed_assert(msg==nullptr) << msg; + at[5]=0; + ofile.printf("ATOM %s %-4s %3s %4u %8.3f%8.3f%8.3f%6.2f%6.2f\n", + &at[0], mymoldat->getAtomName(numbers[i]).c_str(), mymoldat->getResidueName(numbers[i]).c_str(), mymoldat->getResidueNumber(numbers[i]), lunits*positions[i][0], lunits*positions[i][1], lunits*positions[i][2], occupancy[i], beta[i] ); -- GitLab