Browse Source

Add new substitute_env_variables parameter for DefaultReplacements function (with default true value)

Pierre Muller 2 years ago
parent
commit
627fd6bce1
1 changed files with 4 additions and 2 deletions
  1. 4 2
      compiler/globals.pas

+ 4 - 2
compiler/globals.pas

@@ -653,7 +653,7 @@ interface
     function getrealtime(const st: TSystemTime) : real;
     function getrealtime(const st: TSystemTime) : real;
     function getrealtime : real;
     function getrealtime : real;
 
 
-    procedure DefaultReplacements(var s:ansistring);
+    procedure DefaultReplacements(var s:ansistring; substitute_env_variables:boolean=true);
 
 
     function  GetEnvPChar(const envname:ansistring):pchar;
     function  GetEnvPChar(const envname:ansistring):pchar;
     procedure FreeEnvPChar(p:pchar);
     procedure FreeEnvPChar(p:pchar);
@@ -952,7 +952,7 @@ implementation
 ****************************************************************************}
 ****************************************************************************}
 
 
 
 
-     procedure DefaultReplacements(var s:ansistring);
+     procedure DefaultReplacements(var s:ansistring; substitute_env_variables:boolean=true);
 {$ifdef mswindows}
 {$ifdef mswindows}
        procedure ReplaceSpecialFolder(const MacroName: string; const ID: integer);
        procedure ReplaceSpecialFolder(const MacroName: string; const ID: integer);
          begin
          begin
@@ -1024,6 +1024,8 @@ implementation
          Replace(s,'$OPENBSD_LOCALBASE',GetOpenBSDLocalBase);
          Replace(s,'$OPENBSD_LOCALBASE',GetOpenBSDLocalBase);
          Replace(s,'$OPENBSD_X11BASE',GetOpenBSDX11Base);
          Replace(s,'$OPENBSD_X11BASE',GetOpenBSDX11Base);
 {$endif openbsd}
 {$endif openbsd}
+         if not substitute_env_variables then
+           exit;
          { Replace environment variables between dollar signs }
          { Replace environment variables between dollar signs }
          i := pos('$',s);
          i := pos('$',s);
          while i>0 do
          while i>0 do