aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetIOHDF5/src/OutputSlice.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Carpet/CarpetIOHDF5/src/OutputSlice.cc')
-rw-r--r--Carpet/CarpetIOHDF5/src/OutputSlice.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/Carpet/CarpetIOHDF5/src/OutputSlice.cc b/Carpet/CarpetIOHDF5/src/OutputSlice.cc
index 0a5fcee89..2f67d031b 100644
--- a/Carpet/CarpetIOHDF5/src/OutputSlice.cc
+++ b/Carpet/CarpetIOHDF5/src/OutputSlice.cc
@@ -357,10 +357,15 @@ namespace CarpetIOHDF5 {
int retval;
if (one_file_per_group) {
- char* const alias = CCTK_GroupNameFromVarI (vindex);
- for (char* p = alias; *p; ++p) *p = (char) tolower (*p);
- retval = OutputVarAs (cctkGH, fullname, alias);
- free (alias);
+ char* const alias_c = CCTK_GroupNameFromVarI (vindex);
+ string alias(alias_c);
+ free (alias_c);
+ transform(alias.begin(), alias.end(), alias.begin(), ::tolower);
+ string const oldsep ("::");
+ size_t const oldseppos = alias.find(oldsep);
+ assert (oldseppos != string::npos);
+ alias.replace(oldseppos, oldsep.size(), out_group_separator);
+ retval = OutputVarAs (cctkGH, fullname, alias.c_str());
} else {
const char* const alias = CCTK_VarName (vindex);
retval = OutputVarAs (cctkGH, fullname, alias);