From 0368962ed413fe5a6650064d1078ea3d51533135 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 18 Apr 2013 14:58:53 +0100 Subject: [PATCH] BUG: CSV: binary writing --- .../tableReaders/csv/csvTableReader.C | 15 ++++++++++++--- .../primitives/functions/DataEntry/CSV/CSVIO.C | 13 +++++++++++-- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C index b71e274842a..09faf41fd7b 100644 --- a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C +++ b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -182,8 +182,17 @@ void Foam::csvTableReader<Type>::write(Ostream& os) const << headerLine_ << token::END_STATEMENT << nl; os.writeKeyword("timeColumn") << timeColumn_ << token::END_STATEMENT << nl; - os.writeKeyword("valueColumns") - << componentColumns_ << token::END_STATEMENT << nl; + + // Force writing labelList in ascii + os.writeKeyword("valueColumns"); + if (os.format() == IOstream::BINARY) + { + os.format(IOstream::ASCII); + os << componentColumns_; + os.format(IOstream::BINARY); + } + os << token::END_STATEMENT << nl; + os.writeKeyword("separator") << string(separator_) << token::END_STATEMENT << nl; } diff --git a/src/OpenFOAM/primitives/functions/DataEntry/CSV/CSVIO.C b/src/OpenFOAM/primitives/functions/DataEntry/CSV/CSVIO.C index 36595e7dd6d..1dd395cee0d 100644 --- a/src/OpenFOAM/primitives/functions/DataEntry/CSV/CSVIO.C +++ b/src/OpenFOAM/primitives/functions/DataEntry/CSV/CSVIO.C @@ -74,8 +74,17 @@ void Foam::CSV<Type>::writeData(Ostream& os) const os.writeKeyword("nHeaderLine") << nHeaderLine_ << token::END_STATEMENT << nl; os.writeKeyword("refColumn") << refColumn_ << token::END_STATEMENT << nl; - os.writeKeyword("componentColumns") << componentColumns_ - << token::END_STATEMENT << nl; + + // Force writing labelList in ascii + os.writeKeyword("componentColumns"); + if (os.format() == IOstream::BINARY) + { + os.format(IOstream::ASCII); + os << componentColumns_; + os.format(IOstream::BINARY); + } + os << token::END_STATEMENT << nl; + os.writeKeyword("separator") << string(separator_) << token::END_STATEMENT << nl; os.writeKeyword("mergeSeparators") << string(mergeSeparators_) -- GitLab