diff --git a/src/OSspecific/Unix/Unix.C b/src/OSspecific/Unix/Unix.C index fa92f10b27..07cd954624 100644 --- a/src/OSspecific/Unix/Unix.C +++ b/src/OSspecific/Unix/Unix.C @@ -91,7 +91,9 @@ Foam::string Foam::getEnv(const word& envName) } else { - return string::null; + // Return null-constructed string rather than string::null + // to avoid cyclic dependencies in the construction of globals + return string(); } } @@ -277,7 +279,9 @@ Foam::fileName Foam::findEtcFile(const fileName& name, bool mandatory) ::exit(1); } - return fileName::null; + // Return null-constructed fileName rather than fileName::null + // to avoid cyclic dependencies in the construction of globals + return fileName(); } diff --git a/src/OpenFOAM/global/global.Cver b/src/OpenFOAM/global/global.Cver index 8bcd7e7728..66886d5998 100644 --- a/src/OpenFOAM/global/global.Cver +++ b/src/OpenFOAM/global/global.Cver @@ -37,11 +37,6 @@ Description const char* const Foam::FOAMversion = "WM_PROJECT_VERSION"; -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Static initializers for string::null, word::null and fileName::null - -#include "stringsGlobals.C" - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Setup an error handler for the global new operator diff --git a/src/OpenFOAM/include/OSspecific.H b/src/OpenFOAM/include/OSspecific.H index df57346cf8..346ea61a27 100644 --- a/src/OpenFOAM/include/OSspecific.H +++ b/src/OpenFOAM/include/OSspecific.H @@ -62,7 +62,7 @@ pid_t pgid(); bool env(const word&); //- Return environment variable of given name -// Return string::null if the environment is undefined +// Return string() if the environment is undefined string getEnv(const word& name); //- Set an environment variable @@ -101,7 +101,7 @@ bool chDir(const fileName& dir); // -# shipped settings: // - $WM_PROJECT_DIR/etc/ // -// @return the full path name or fileName::null if the name cannot be found +// @return the full path name or fileName() if the name cannot be found // Optionally abort if the file cannot be found fileName findEtcFile(const fileName& name, bool mandatory=false); diff --git a/src/OpenFOAM/primitives/strings/fileName/fileName.C b/src/OpenFOAM/primitives/strings/fileName/fileName.C index 8545d03a95..2f669a839a 100644 --- a/src/OpenFOAM/primitives/strings/fileName/fileName.C +++ b/src/OpenFOAM/primitives/strings/fileName/fileName.C @@ -33,6 +33,7 @@ License const char* const Foam::fileName::typeName = "fileName"; int Foam::fileName::debug(debug::debugSwitch(fileName::typeName, 0)); +const Foam::fileName Foam::fileName::null; // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // diff --git a/src/OpenFOAM/primitives/strings/string/string.C b/src/OpenFOAM/primitives/strings/string/string.C index da918d09e1..f9a863e10f 100644 --- a/src/OpenFOAM/primitives/strings/string/string.C +++ b/src/OpenFOAM/primitives/strings/string/string.C @@ -32,6 +32,7 @@ License const char* const Foam::string::typeName = "string"; int Foam::string::debug(debug::debugSwitch(string::typeName, 0)); +const Foam::string Foam::string::null; // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // diff --git a/src/OpenFOAM/primitives/strings/stringsGlobals.C b/src/OpenFOAM/primitives/strings/stringsGlobals.C index 9d0d201a5e..7f4431da7c 100644 --- a/src/OpenFOAM/primitives/strings/stringsGlobals.C +++ b/src/OpenFOAM/primitives/strings/stringsGlobals.C @@ -38,8 +38,4 @@ Description // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -const Foam::string Foam::string::null; -const Foam::word Foam::word::null; -const Foam::fileName Foam::fileName::null; - // ************************************************************************* // diff --git a/src/OpenFOAM/primitives/strings/word/word.C b/src/OpenFOAM/primitives/strings/word/word.C index c890046657..d80966ebf0 100644 --- a/src/OpenFOAM/primitives/strings/word/word.C +++ b/src/OpenFOAM/primitives/strings/word/word.C @@ -31,5 +31,6 @@ License const char* const Foam::word::typeName = "word"; int Foam::word::debug(Foam::debug::debugSwitch(word::typeName, 0)); +const Foam::word Foam::word::null; // ************************************************************************* //