|
@@ -107,7 +107,7 @@ end;
|
|
|
|
|
|
function BSTR2STRING(s : LongInt): PChar; Inline;
|
|
function BSTR2STRING(s : LongInt): PChar; Inline;
|
|
begin
|
|
begin
|
|
- BSTR2STRING:=Pointer(Longint(BADDR(s))+1);
|
|
|
|
|
|
+ BSTR2STRING:=PChar(BADDR(s))+1;
|
|
end;
|
|
end;
|
|
|
|
|
|
function IsLeapYear(Source : Word) : Boolean;
|
|
function IsLeapYear(Source : Word) : Boolean;
|
|
@@ -905,23 +905,24 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
function GetEnv(envvar : String): String;
|
|
function GetEnv(envvar : String): String;
|
|
var
|
|
var
|
|
bufarr : array[0..255] of char;
|
|
bufarr : array[0..255] of char;
|
|
strbuffer : array[0..255] of char;
|
|
strbuffer : array[0..255] of char;
|
|
temp : Longint;
|
|
temp : Longint;
|
|
begin
|
|
begin
|
|
|
|
+ GetEnv := '';
|
|
if UpCase(envvar) = 'PATH' then begin
|
|
if UpCase(envvar) = 'PATH' then begin
|
|
if StrOfpaths = '' then StrOfPaths := GetPathString;
|
|
if StrOfpaths = '' then StrOfPaths := GetPathString;
|
|
- GetEnv := StrofPaths;
|
|
|
|
|
|
+ GetEnv := StrOfPaths;
|
|
end else begin
|
|
end else begin
|
|
|
|
+ if (Pos(DriveSeparator,envvar) <> 0) or
|
|
|
|
+ (Pos(DirectorySeparator,envvar) <> 0) then exit;
|
|
move(envvar[1],strbuffer,length(envvar));
|
|
move(envvar[1],strbuffer,length(envvar));
|
|
strbuffer[length(envvar)] := #0;
|
|
strbuffer[length(envvar)] := #0;
|
|
temp := GetVar(strbuffer,bufarr,255,$100);
|
|
temp := GetVar(strbuffer,bufarr,255,$100);
|
|
- if temp = -1 then
|
|
|
|
- GetEnv := ''
|
|
|
|
- else GetEnv := StrPas(bufarr);
|
|
|
|
|
|
+ if temp <> -1 then
|
|
|
|
+ GetEnv := StrPas(bufarr);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|