diff --git a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.C b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.C index 36e8407afb0f4db9f917ca06b9aca555c7d109cf..089948e6f04305f20771b7bceb74ea310383b287 100644 --- a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.C +++ b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | + \\ / A nd | Copyright (C) 2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2016 OpenFOAM Foundation @@ -124,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 60acd3bb5a802cf32d53593d8f31d948d7839fab..38d4dd8006623628e355b62d0d00a8dd63bae599 100644 --- a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.H +++ b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | + \\ / A nd | Copyright (C) 2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2016 OpenFOAM Foundation @@ -80,7 +80,7 @@ public: // Constructors //- Construct from a dictionary - dynamicCodeContext(const dictionary&); + dynamicCodeContext(const dictionary& dict); // Member functions @@ -128,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 ); };