Kaynağa Gözat

Fixed Linux Compilation Issues.

* fixed compilation issues on linux.
* ran and verified tests on Ubuntu (Linux).
Ugochukwu Mmaduekwe 7 yıl önce
ebeveyn
işleme
9cd140940c

+ 1 - 1
CryptoLib/src/Packages/FPC/CryptoLib4PascalPackage.lpk

@@ -24,7 +24,7 @@
 
  Acknowledgements: 
 Thanks to Sphere 10 Software (http://sphere10.com) for sponsoring the development of this library "/>
-    <Version Major="1" Minor="5"/>
+    <Version Major="1" Minor="6"/>
     <Files Count="281">
       <Item1>
         <Filename Value="..\..\Asn1\ClpAsn1Encodable.pas"/>

+ 6 - 3
CryptoLib/src/Utils/IO/ClpBaseInputStream.pas

@@ -31,9 +31,12 @@ type
 
   strict protected
     function QueryInterface({$IFDEF FPC}constref {$ELSE}const
-{$ENDIF FPC} IID: TGUID; out Obj): HResult; stdcall;
-    function _AddRef: Integer; stdcall;
-    function _Release: Integer; stdcall;
+{$ENDIF FPC} IID: TGUID; out Obj): HResult; {$IFDEF MSWINDOWS} stdcall
+    {$ELSE} cdecl {$ENDIF MSWINDOWS};
+    function _AddRef: Integer; {$IFDEF MSWINDOWS} stdcall {$ELSE} cdecl
+    {$ENDIF MSWINDOWS};
+    function _Release: Integer; {$IFDEF MSWINDOWS} stdcall {$ELSE} cdecl
+    {$ENDIF MSWINDOWS};
   public
     function ReadByte: Int32; virtual;
     function Read(Buffer: TCryptoLibByteArray; Offset, Count: Longint): Int32;

+ 6 - 3
CryptoLib/src/Utils/IO/ClpFilterStream.pas

@@ -42,9 +42,12 @@ type
     function GetSize: Int64; override;
 
     function QueryInterface({$IFDEF FPC}constref {$ELSE}const
-{$ENDIF FPC} IID: TGUID; out Obj): HResult; stdcall;
-    function _AddRef: Integer; stdcall;
-    function _Release: Integer; stdcall;
+{$ENDIF FPC} IID: TGUID; out Obj): HResult; {$IFDEF MSWINDOWS} stdcall
+    {$ELSE} cdecl {$ENDIF MSWINDOWS};
+    function _AddRef: Integer; {$IFDEF MSWINDOWS} stdcall {$ELSE} cdecl
+    {$ENDIF MSWINDOWS};
+    function _Release: Integer; {$IFDEF MSWINDOWS} stdcall {$ELSE} cdecl
+    {$ENDIF MSWINDOWS};
 
   public
     constructor Create(s: TStream);

+ 5 - 2
CryptoLib/src/Utils/Randoms/ClpOSRandom.pas

@@ -65,6 +65,8 @@ type
 
     class function NoZeroes(data: TCryptoLibByteArray): Boolean; static; inline;
 
+{$IFDEF MSWINDOWS}
+
   type
     TWCCryptAcquireContextA = function(phProv: Pointer; pszContainer: LPCSTR;
       pszProvider: LPCSTR; dwProvType: DWORD; dwFlags: DWORD): BOOL; stdcall;
@@ -72,6 +74,7 @@ type
       : BOOL; stdcall;
     TWCCryptGenRandom = function(hProv: ULONG; dwLen: DWORD; pbBuffer: PBYTE)
       : BOOL; stdcall;
+{$ENDIF MSWINDOWS}
 
   class var
 {$IFDEF MSWINDOWS}
@@ -139,9 +142,9 @@ begin
   end;
 {$ELSE}
   RandGen := '/dev/urandom';
-  if not FileExists(RandGen, True) then
+  if not FileExists(RandGen) then
   begin
-    if not FileExists('/dev/random', True) then
+    if not FileExists('/dev/random') then
     begin
       FunixCryptOk := -1;
       Exit;