From 3bbc464d055f4c9e503500ba93d2a8eb94d27869 Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Mon, 22 Nov 2010 15:16:31 +0000
Subject: [PATCH] BUG: dictionary + runtime modifiable : dictionary transfer
 through binary stream does not work.

---
 .../db/IOobjects/IOdictionary/IOdictionary.C  | 20 ++++++++++++++++---
 src/OpenFOAM/db/regIOobject/regIOobjectRead.C | 20 ++++++++++++++++---
 2 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C b/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C
index 6997f6a2801..3952d1b6eb3 100644
--- a/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C
+++ b/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C
@@ -67,8 +67,16 @@ void Foam::IOdictionary::readFile(const bool masterOnly)
                 slave++
             )
             {
-
-                OPstream toSlave(Pstream::scheduled, slave);
+                // Note: use ASCII for now - binary IO of dictionaries is
+                // not currently supported
+                OPstream toSlave
+                (
+                    Pstream::scheduled,
+                    slave,
+                    0,
+                    UPstream::msgType(),
+                    IOstream::ASCII
+                );
                 IOdictionary::writeData(toSlave);
             }
         }
@@ -79,7 +87,13 @@ void Foam::IOdictionary::readFile(const bool masterOnly)
                 Pout<< "IOdictionary : Reading " << objectPath()
                     << " from master processor " << Pstream::masterNo() << endl;
             }
-            IPstream fromMaster(Pstream::scheduled, Pstream::masterNo());
+            IPstream fromMaster
+            (
+                Pstream::scheduled,
+                Pstream::masterNo(),
+                0,
+                IOstream::ASCII
+            );
             IOdictionary::readData(fromMaster);
         }
     }
diff --git a/src/OpenFOAM/db/regIOobject/regIOobjectRead.C b/src/OpenFOAM/db/regIOobject/regIOobjectRead.C
index ed10a32f387..3ec70c25166 100644
--- a/src/OpenFOAM/db/regIOobject/regIOobjectRead.C
+++ b/src/OpenFOAM/db/regIOobject/regIOobjectRead.C
@@ -196,8 +196,16 @@ bool Foam::regIOobject::read()
                 slave++
             )
             {
-
-                OPstream toSlave(Pstream::scheduled, slave);
+                // Note: use ASCII for now - binary IO of dictionaries is
+                // not currently supported
+                OPstream toSlave
+                (
+                    Pstream::scheduled,
+                    slave,
+                    0,
+                    UPstream::msgType(),
+                    IOstream::ASCII
+                );
                 writeData(toSlave);
             }
         }
@@ -210,7 +218,13 @@ bool Foam::regIOobject::read()
                     << " from master processor " << Pstream::masterNo()
                     << endl;
             }
-            IPstream fromMaster(Pstream::scheduled, Pstream::masterNo());
+            IPstream fromMaster
+            (
+                Pstream::scheduled,
+                Pstream::masterNo(),
+                0,
+                IOstream::ASCII
+            );
             ok = readData(fromMaster);
         }
     }
-- 
GitLab