BUG: use of unset autoPtr

This commit is contained in:
mattijs
2010-10-05 19:28:04 +01:00
parent 9ad20b0a3b
commit bb0e98f55b
2 changed files with 52 additions and 60 deletions

View File

@ -259,7 +259,7 @@ void writePatchField
word timeFile = prepend + itoa(timeIndex);
autoPtr<ensightStream> ensightFilePtr;
ensightStream* ensightFilePtr = NULL;
if (Pstream::master())
{
if (timeIndex == 0)
@ -279,29 +279,23 @@ void writePatchField
if (binary)
{
ensightFilePtr.reset
ensightFilePtr = new ensightBinaryStream
(
new ensightBinaryStream
(
postProcPath/ensightFileName,
runTime
)
postProcPath/ensightFileName,
runTime
);
}
else
{
ensightFilePtr.reset
ensightFilePtr = new ensightAsciiStream
(
new ensightAsciiStream
(
postProcPath/ensightFileName,
runTime
)
postProcPath/ensightFileName,
runTime
);
}
}
ensightStream& ensightFile = ensightFilePtr();
ensightStream& ensightFile = *ensightFilePtr;
if (Pstream::master())
{
@ -334,6 +328,11 @@ void writePatchField
ensightFile
);
}
if (Pstream::master())
{
delete ensightFilePtr;
}
}
@ -374,7 +373,7 @@ void ensightField
const labelList& hexes = meshCellSets.hexes;
const labelList& polys = meshCellSets.polys;
autoPtr<ensightStream> ensightFilePtr;
ensightStream* ensightFilePtr = NULL;
if (Pstream::master())
{
// set the filename of the ensight file
@ -382,29 +381,23 @@ void ensightField
if (binary)
{
ensightFilePtr.reset
ensightFilePtr = new ensightBinaryStream
(
new ensightBinaryStream
(
postProcPath/ensightFileName,
runTime
)
postProcPath/ensightFileName,
runTime
);
}
else
{
ensightFilePtr.reset
ensightFilePtr = new ensightAsciiStream
(
new ensightAsciiStream
(
postProcPath/ensightFileName,
runTime
)
postProcPath/ensightFileName,
runTime
);
}
}
ensightStream& ensightFile = ensightFilePtr();
ensightStream& ensightFile = *ensightFilePtr;
if (patchNames.empty())
{
@ -595,6 +588,10 @@ void ensightField
}
}
}
if (Pstream::master())
{
delete ensightFilePtr;
}
}
@ -614,10 +611,7 @@ void ensightPointField
word timeFile = prepend + itoa(timeIndex);
//const fvMesh& mesh = eMesh.mesh();
//const Time& runTime = mesh.time();
autoPtr<ensightStream> ensightFilePtr;
ensightStream* ensightFilePtr = NULL;
if (Pstream::master())
{
// set the filename of the ensight file
@ -625,29 +619,23 @@ void ensightPointField
if (binary)
{
ensightFilePtr.reset
ensightFilePtr = new ensightBinaryStream
(
new ensightBinaryStream
(
postProcPath/ensightFileName,
eMesh.mesh().time()
)
postProcPath/ensightFileName,
eMesh.mesh().time()
);
}
else
{
ensightFilePtr.reset
ensightFilePtr = new ensightAsciiStream
(
new ensightAsciiStream
(
postProcPath/ensightFileName,
eMesh.mesh().time()
)
postProcPath/ensightFileName,
eMesh.mesh().time()
);
}
}
ensightStream& ensightFile = ensightFilePtr();
ensightStream& ensightFile = *ensightFilePtr;
if (eMesh.patchNames().empty())
{
@ -700,6 +688,11 @@ void ensightPointField
}
}
}
if (Pstream::master())
{
delete ensightFilePtr;
}
}

View File

@ -1012,35 +1012,29 @@ void Foam::ensightMesh::write
// set the filename of the ensight file
fileName ensightGeometryFileName = timeFile + "mesh";
autoPtr<ensightStream> ensightGeometryFilePtr;
ensightStream* ensightGeometryFilePtr = NULL;
if (Pstream::master())
{
if (binary_)
{
ensightGeometryFilePtr.reset
ensightGeometryFilePtr = new ensightBinaryStream
(
new ensightBinaryStream
(
postProcPath/ensightGeometryFileName,
runTime
)
postProcPath/ensightGeometryFileName,
runTime
);
ensightGeometryFilePtr().write("C binary");
ensightGeometryFilePtr->write("C binary");
}
else
{
ensightGeometryFilePtr.reset
ensightGeometryFilePtr = new ensightAsciiStream
(
new ensightAsciiStream
(
postProcPath/ensightGeometryFileName,
runTime
)
postProcPath/ensightGeometryFileName,
runTime
);
}
}
ensightStream& ensightGeometryFile = ensightGeometryFilePtr();
ensightStream& ensightGeometryFile = *ensightGeometryFilePtr;
if (Pstream::master())
{
@ -1289,6 +1283,11 @@ void Foam::ensightMesh::write
);
}
}
if (Pstream::master())
{
delete ensightGeometryFilePtr;
}
}