diff --git a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.C b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.C index dbd5fccb40119d6456f1cd3f3c71f5fa2ddf477c..602b713775063f200950c6c6012ca17ca0ff0642 100644 --- a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.C +++ b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.C @@ -2,8 +2,10 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2011, 2019 OpenCFD Ltd. \\/ M anipulation | +------------------------------------------------------------------------------- + | Copyright (C) 2011-2016 OpenFOAM Foundation ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -122,11 +124,16 @@ Foam::dynamicCodeContext::dynamicCodeContext(const dictionary& dict) void Foam::dynamicCodeContext::addLineDirective ( string& code, - const label lineNum, + label lineNum, const fileName& name ) { - code = "#line " + Foam::name(lineNum + 1) + " \"" + name + "\"\n" + code; + ++lineNum; // Change from 0-based to 1-based + + if (lineNum > 0 && !name.empty()) + { + code = "#line " + Foam::name(lineNum) + " \"" + name + "\"\n" + code; + } } diff --git a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.H b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.H index 6228a09bd5ce349cd77e8c6e63660d55366504a5..7458bcb2ab1b17ea7d46999fc53295fa398c1938 100644 --- a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.H +++ b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.H @@ -2,8 +2,10 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2011, 2019 OpenCFD Ltd. \\/ M anipulation | +------------------------------------------------------------------------------- + | Copyright (C) 2011-2016 OpenFOAM Foundation ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -78,7 +80,7 @@ public: // Constructors //- Construct from a dictionary - dynamicCodeContext(const dictionary&); + dynamicCodeContext(const dictionary& dict); // Member functions @@ -126,10 +128,11 @@ public: } //- Helper: add \#line directive + // The lineNum is 0-based. No-op if the lineNum is negative. static void addLineDirective ( - string&, - const label lineNum, + string& code, + label lineNum, const fileName& name ); };