From 84e390d73ab7148814b19d4758ff90564c3f1c5d Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Sun, 26 May 2013 15:55:33 -0400 Subject: CarpetIO*: New parameter CarpetIO*::out_group_separator out_group_separator chooses the string by which thorn name and group name are separated in file names. The default is "::" for backward compatibility. This parameter only affects output where CarpetIO*::one_file_per_group is set; otherwise, the thorn name does not appear in the file name. --- Carpet/CarpetIOASCII/src/ioascii.cc | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'Carpet/CarpetIOASCII/src') 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); -- cgit v1.2.3