From a19e488f1ef17e11cbd1df7f3c1e74004e54e3c1 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@Germany>
Date: Mon, 7 Dec 2009 13:40:32 +0100
Subject: [PATCH] consistency update - writeCompression in system/controlDict

allow switch/bool values for writeCompression in system/controlDict

- eg,
    writeCompression false; or writeCompression uncompressed;
    writeCompression true;  or writeCompression compressed;

improves consistency with other controlDict parameters
---
 src/OpenFOAM/db/IOstreams/IOstreams/IOstream.C | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.C b/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.C
index 775bac11c35..9dbfc829cd2 100644
--- a/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.C
+++ b/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.C
@@ -26,6 +26,7 @@ License
 
 #include "IOstream.H"
 #include "error.H"
+#include "Switch.H"
 #include <sstream>
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@@ -60,7 +61,14 @@ Foam::IOstream::formatEnum(const word& format)
 Foam::IOstream::compressionType
 Foam::IOstream::compressionEnum(const word& compression)
 {
-    if (compression == "uncompressed")
+    // get Switch (bool) value, but allow it to fail
+    Switch::switchType sw = Switch::asEnum(compression, true);
+
+    if (sw != Switch::INVALID)
+    {
+        return sw ? IOstream::COMPRESSED : IOstream::UNCOMPRESSED;
+    }
+    else if (compression == "uncompressed")
     {
         return IOstream::UNCOMPRESSED;
     }
@@ -115,7 +123,7 @@ Foam::string Foam::IOstream::versionNumber::str() const
     std::ostringstream os;
     os.precision(1);
     os.setf(ios_base::fixed, ios_base::floatfield);
-    os << versionNumber_;
+    os  << versionNumber_;
     return os.str();
 }
 
@@ -202,11 +210,11 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const IOstream::streamFormat& sf)
 {
     if (sf == IOstream::ASCII)
     {
-        os << "ascii";
+        os  << "ascii";
     }
     else
     {
-        os << "binary";
+        os  << "binary";
     }
 
     return os;
@@ -215,7 +223,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const IOstream::streamFormat& sf)
 
 Foam::Ostream& Foam::operator<<(Ostream& os, const IOstream::versionNumber& vn)
 {
-    os << vn.str().c_str();
+    os  << vn.str().c_str();
     return os;
 }
 
-- 
GitLab