diff options
Diffstat (limited to 'Carpet/CarpetIOASCII/src')
-rw-r--r-- | Carpet/CarpetIOASCII/src/ioascii.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/Carpet/CarpetIOASCII/src/ioascii.cc b/Carpet/CarpetIOASCII/src/ioascii.cc index 6077620d7..9c860eec5 100644 --- a/Carpet/CarpetIOASCII/src/ioascii.cc +++ b/Carpet/CarpetIOASCII/src/ioascii.cc @@ -355,10 +355,15 @@ namespace CarpetIOASCII { 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); |