aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetIOBasic
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2006-09-25 22:01:00 +0000
committerErik Schnetter <schnetter@cct.lsu.edu>2006-09-25 22:01:00 +0000
commit52756eabda6c8ba2ad0ab85e951e00782915395b (patch)
tree6125b21efc69af29965b53062d18045a8c84971f /Carpet/CarpetIOBasic
parent791ed685b8daf26bf9e32afea0580645c091ac10 (diff)
CarpetIOBasic: Save and restore stream state of cout
darcs-hash:20060925220104-dae7b-81166be5c72a691ccf5efb7b79d3e01f19bc1184.gz
Diffstat (limited to 'Carpet/CarpetIOBasic')
-rw-r--r--Carpet/CarpetIOBasic/src/iobasic.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/Carpet/CarpetIOBasic/src/iobasic.cc b/Carpet/CarpetIOBasic/src/iobasic.cc
index 161671391..c6179a938 100644
--- a/Carpet/CarpetIOBasic/src/iobasic.cc
+++ b/Carpet/CarpetIOBasic/src/iobasic.cc
@@ -434,6 +434,14 @@ namespace CarpetIOBasic {
// Output in global mode
BEGIN_GLOBAL_MODE(cctkGH) {
+ // Remember cout state
+ int oldprec;
+ ios_base::fmtflags oldflags;
+ if (CCTK_MyProc(cctkGH) == 0) {
+ oldprec = cout.precision();
+ oldflags = cout.flags();
+ }
+
// Print vertical separator
if (CCTK_MyProc(cctkGH) == 0) {
cout << " |";
@@ -524,6 +532,12 @@ namespace CarpetIOBasic {
} // not isscalar
+ // Restore cout state
+ if (CCTK_MyProc(cctkGH) == 0) {
+ cout.precision (oldprec);
+ cout.setf (oldflags);
+ }
+
} END_GLOBAL_MODE;
}