|
@@ -1,11 +1,18 @@
|
|
|
+{$IFNDEF FPC_DOTTEDUNITS}
|
|
|
unit PasZLib;
|
|
|
+{$ENDIF FPC_DOTTEDUNITS}
|
|
|
|
|
|
{$inline on}
|
|
|
|
|
|
interface
|
|
|
|
|
|
+{$IFDEF FPC_DOTTEDUNITS}
|
|
|
+uses
|
|
|
+ System.ZLib.Zbase;
|
|
|
+{$ELSE FPC_DOTTEDUNITS}
|
|
|
uses
|
|
|
zbase;
|
|
|
+{$ENDIF FPC_DOTTEDUNITS}
|
|
|
|
|
|
const
|
|
|
ZLIB_VERSION = '1.2';
|
|
@@ -105,67 +112,72 @@ function get_crc_table:pointer;inline;
|
|
|
|
|
|
implementation
|
|
|
|
|
|
+{$IFDEF FPC_DOTTEDUNITS}
|
|
|
+uses
|
|
|
+ System.ZLib.Zdeflate,System.ZLib.Zinflate,System.ZLib.Zcompres,System.ZLib.Zuncompr,System.ZLib.Gzio,System.ZLib.Adler,System.Hash.Crc;
|
|
|
+{$ELSE FPC_DOTTEDUNITS}
|
|
|
uses
|
|
|
zdeflate,zinflate,zcompres,zuncompr,gzio,adler,crc;
|
|
|
+{$ENDIF FPC_DOTTEDUNITS}
|
|
|
|
|
|
function zlibVersion:string;inline;
|
|
|
begin
|
|
|
- zlibversion:=zbase.zlibversion;
|
|
|
+ zlibversion:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zbase.zlibversion;
|
|
|
end;
|
|
|
|
|
|
function deflate(var strm:TZstream; flush:longint):longint;inline;
|
|
|
begin
|
|
|
- deflate:=zdeflate.deflate(strm,flush);
|
|
|
+ deflate:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zdeflate.deflate(strm,flush);
|
|
|
end;
|
|
|
|
|
|
function deflateEnd(var strm:TZstream):longint;inline;
|
|
|
begin
|
|
|
- deflateEnd:=zdeflate.deflateEnd(strm);
|
|
|
+ deflateEnd:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zdeflate.deflateEnd(strm);
|
|
|
end;
|
|
|
|
|
|
function inflate(var strm:TZstream; flush:longint):longint;inline;
|
|
|
begin
|
|
|
- inflate:=zinflate.inflate(strm,flush);
|
|
|
+ inflate:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zinflate.inflate(strm,flush);
|
|
|
end;
|
|
|
|
|
|
function inflateEnd(var strm:TZstream):longint;inline;
|
|
|
begin
|
|
|
- inflateEnd:=zinflate.inflateEnd(strm);
|
|
|
+ inflateEnd:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zinflate.inflateEnd(strm);
|
|
|
end;
|
|
|
|
|
|
function deflateSetDictionary(var strm:TZstream;dictionary : PAnsiChar; dictLength:cardinal):longint;inline;
|
|
|
begin
|
|
|
- deflateSetDictionary:=zdeflate.deflateSetDictionary(strm,Pbyte(dictionary),dictlength);
|
|
|
+ deflateSetDictionary:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zdeflate.deflateSetDictionary(strm,Pbyte(dictionary),dictlength);
|
|
|
end;
|
|
|
|
|
|
function deflateCopy(var dest,source:TZstream):longint;inline;
|
|
|
begin
|
|
|
- deflateCopy:=zdeflate.deflateCopy(@dest,@source);
|
|
|
+ deflateCopy:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zdeflate.deflateCopy(@dest,@source);
|
|
|
end;
|
|
|
|
|
|
function deflateReset(var strm:TZstream):longint;inline;
|
|
|
begin
|
|
|
- deflateReset:=zdeflate.deflateReset(strm);
|
|
|
+ deflateReset:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zdeflate.deflateReset(strm);
|
|
|
end;
|
|
|
|
|
|
function deflateParams(var strm:TZstream; level:longint; strategy:longint):longint;inline;
|
|
|
begin
|
|
|
- deflateParams:=zdeflate.deflateParams(strm,level,strategy);
|
|
|
+ deflateParams:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zdeflate.deflateParams(strm,level,strategy);
|
|
|
end;
|
|
|
|
|
|
function inflateSetDictionary(var strm:TZStream;dictionary : PAnsiChar; dictLength:cardinal):longint;inline;
|
|
|
begin
|
|
|
- inflateSetDictionary:=zinflate.inflateSetDictionary(strm,Pbyte(dictionary),dictlength);
|
|
|
+ inflateSetDictionary:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zinflate.inflateSetDictionary(strm,Pbyte(dictionary),dictlength);
|
|
|
end;
|
|
|
|
|
|
function inflateSync(var strm:TZStream):longint;inline;
|
|
|
begin
|
|
|
- inflateSync:=zinflate.inflateSync(strm);
|
|
|
+ inflateSync:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zinflate.inflateSync(strm);
|
|
|
end;
|
|
|
|
|
|
function inflateReset(var strm:TZStream):longint;inline;
|
|
|
begin
|
|
|
- inflateReset:=zinflate.inflateReset(strm);
|
|
|
+ inflateReset:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zinflate.inflateReset(strm);
|
|
|
end;
|
|
|
|
|
|
function compress(dest:PAnsiChar;var destLen:cardinal; source : PAnsiChar; sourceLen:cardinal):longint;
|
|
@@ -174,7 +186,7 @@ type Pbytearray=^Tbytearray;
|
|
|
Tbytearray=array[0..0] of byte;
|
|
|
|
|
|
begin
|
|
|
- compress:=zcompres.compress(Pbyte(dest),destlen,Pbytearray(source)^,sourcelen);
|
|
|
+ compress:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zcompres.compress(Pbyte(dest),destlen,Pbytearray(source)^,sourcelen);
|
|
|
end;
|
|
|
|
|
|
function compress2(dest:PAnsiChar;var destLen:cardinal; source : PAnsiChar; sourceLen:cardinal; level:longint):longint;
|
|
@@ -183,7 +195,7 @@ type Pbytearray=^Tbytearray;
|
|
|
Tbytearray=array[0..0] of byte;
|
|
|
|
|
|
begin
|
|
|
- compress2:=zcompres.compress2(Pbyte(dest),destlen,Pbytearray(source)^,sourcelen,level);
|
|
|
+ compress2:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zcompres.compress2(Pbyte(dest),destlen,Pbytearray(source)^,sourcelen,level);
|
|
|
end;
|
|
|
|
|
|
function uncompress(dest:PAnsiChar;var destLen:cardinal; source : PAnsiChar; sourceLen:cardinal):longint;
|
|
@@ -192,147 +204,147 @@ type Pbytearray=^Tbytearray;
|
|
|
Tbytearray=array[0..0] of byte;
|
|
|
|
|
|
begin
|
|
|
- uncompress:=zuncompr.uncompress(Pbyte(dest),destlen,Pbytearray(source)^,sourcelen);
|
|
|
+ uncompress:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zuncompr.uncompress(Pbyte(dest),destlen,Pbytearray(source)^,sourcelen);
|
|
|
end;
|
|
|
|
|
|
function gzopen(path:PAnsiChar; mode:PAnsiChar):gzFile;inline;
|
|
|
begin
|
|
|
- gzopen:=gzio.gzopen(path,mode);
|
|
|
+ gzopen:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gzopen(path,mode);
|
|
|
end;
|
|
|
|
|
|
function gzsetparams(Thefile:gzFile; level:longint; strategy:longint):longint;inline;
|
|
|
begin
|
|
|
- gzsetparams:=gzio.gzsetparams(thefile,level,strategy);
|
|
|
+ gzsetparams:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gzsetparams(thefile,level,strategy);
|
|
|
end;
|
|
|
|
|
|
function gzread(thefile:gzFile; buf : pointer; len:cardinal):longint;inline;
|
|
|
begin
|
|
|
- gzread:=gzio.gzread(thefile,buf,len);
|
|
|
+ gzread:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gzread(thefile,buf,len);
|
|
|
end;
|
|
|
|
|
|
function gzwrite(thefile:gzFile; buf: pointer; len:cardinal):longint;inline;
|
|
|
begin
|
|
|
- gzwrite:=gzio.gzwrite(thefile,buf,len);
|
|
|
+ gzwrite:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gzwrite(thefile,buf,len);
|
|
|
end;
|
|
|
|
|
|
function gzputs(thefile:gzFile; s:PAnsiChar):longint;inline;
|
|
|
begin
|
|
|
- gzputs:=gzio.gzputs(thefile,s);
|
|
|
+ gzputs:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gzputs(thefile,s);
|
|
|
end;
|
|
|
|
|
|
function gzgets(thefile:gzFile; buf:PAnsiChar; len:longint):PAnsiChar;inline;
|
|
|
begin
|
|
|
- gzgets:=gzio.gzgets(thefile,buf,len);
|
|
|
+ gzgets:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gzgets(thefile,buf,len);
|
|
|
end;
|
|
|
|
|
|
function gzputc(thefile:gzFile; c:AnsiChar):longint;inline;
|
|
|
begin
|
|
|
- gzputc:=gzio.gzputc(thefile,c);
|
|
|
+ gzputc:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gzputc(thefile,c);
|
|
|
end;
|
|
|
|
|
|
function gzgetc(thefile:gzFile):AnsiChar;inline;
|
|
|
begin
|
|
|
- gzgetc:=chr(gzio.gzgetc(thefile));
|
|
|
+ gzgetc:=chr({$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gzgetc(thefile));
|
|
|
end;
|
|
|
|
|
|
function gzflush(thefile:gzFile; flush:longint):longint;inline;
|
|
|
begin
|
|
|
- gzflush:=gzio.gzflush(thefile,flush);
|
|
|
+ gzflush:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gzflush(thefile,flush);
|
|
|
end;
|
|
|
|
|
|
function gzseek(thefile:gzFile; offset:z_off_t; whence:longint):z_off_t;inline;
|
|
|
begin
|
|
|
- gzseek:=gzio.gzseek(thefile,offset,whence);
|
|
|
+ gzseek:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gzseek(thefile,offset,whence);
|
|
|
end;
|
|
|
|
|
|
function gzrewind(thefile:gzFile):longint;inline;
|
|
|
begin
|
|
|
- gzrewind:=gzio.gzrewind(thefile);
|
|
|
+ gzrewind:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gzrewind(thefile);
|
|
|
end;
|
|
|
|
|
|
function gztell(thefile:gzFile):z_off_t;inline;
|
|
|
begin
|
|
|
- gztell:=gzio.gztell(thefile);
|
|
|
+ gztell:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gztell(thefile);
|
|
|
end;
|
|
|
|
|
|
function gzeof(thefile:gzFile):longbool;inline;
|
|
|
begin
|
|
|
- gzeof:=gzio.gzeof(thefile);
|
|
|
+ gzeof:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gzeof(thefile);
|
|
|
end;
|
|
|
|
|
|
function gzclose(thefile:gzFile):longint;inline;
|
|
|
begin
|
|
|
- gzclose:=gzio.gzclose(thefile);
|
|
|
+ gzclose:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gzclose(thefile);
|
|
|
end;
|
|
|
|
|
|
function gzerror(thefile:gzFile; var errnum:smallint):string;inline;
|
|
|
begin
|
|
|
- gzerror:=gzio.gzerror(thefile,errnum);
|
|
|
+ gzerror:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}gzio.gzerror(thefile,errnum);
|
|
|
end;
|
|
|
|
|
|
function adler32(theadler:cardinal;buf : PAnsiChar; len:cardinal):cardinal;inline;
|
|
|
begin
|
|
|
- adler32:=adler.adler32(theadler,Pbyte(buf),len);
|
|
|
+ adler32:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}adler.adler32(theadler,Pbyte(buf),len);
|
|
|
end;
|
|
|
|
|
|
function crc32(thecrc:cardinal;buf : PAnsiChar; len:cardinal):cardinal;inline;
|
|
|
begin
|
|
|
- crc32:=crc.crc32(thecrc,Pbyte(buf),len);
|
|
|
+ crc32:={$IFDEF FPC_DOTTEDUNITS}System.Hash.{$ENDIF}crc.crc32(thecrc,Pbyte(buf),len);
|
|
|
end;
|
|
|
|
|
|
function deflateInit_(var strm:TZStream; level:longint; version:PAnsiChar; stream_size:longint):longint;inline;
|
|
|
begin
|
|
|
- deflateInit_:=zdeflate.deflateInit_(@strm,level,version,stream_size);
|
|
|
+ deflateInit_:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zdeflate.deflateInit_(@strm,level,version,stream_size);
|
|
|
end;
|
|
|
|
|
|
function inflateInit_(var strm:TZStream; version:PAnsiChar; stream_size:longint):longint;inline;
|
|
|
begin
|
|
|
- inflateInit_:=zinflate.inflateInit_(@strm,version,stream_size);
|
|
|
+ inflateInit_:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zinflate.inflateInit_(@strm,version,stream_size);
|
|
|
end;
|
|
|
|
|
|
function deflateInit2_(var strm:TZStream; level:longint; method:longint; windowBits:longint; memLevel:longint;strategy:longint; version:PAnsiChar; stream_size:longint):longint;inline;
|
|
|
begin
|
|
|
- deflateInit2_:=zdeflate.deflateInit2_(strm,level,method,windowBits,memlevel,strategy,version,stream_size);
|
|
|
+ deflateInit2_:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zdeflate.deflateInit2_(strm,level,method,windowBits,memlevel,strategy,version,stream_size);
|
|
|
end;
|
|
|
|
|
|
function inflateInit2_(var strm:TZStream; windowBits:longint; version:PAnsiChar; stream_size:longint):longint;inline;
|
|
|
begin
|
|
|
- inflateInit2_:=zinflate.inflateInit2_(strm,windowBits,version,stream_size);
|
|
|
+ inflateInit2_:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zinflate.inflateInit2_(strm,windowBits,version,stream_size);
|
|
|
end;
|
|
|
|
|
|
function deflateInit(var strm:TZStream;level : longint) : longint;inline;
|
|
|
begin
|
|
|
- deflateInit:=zdeflate.deflateInit(strm,level);
|
|
|
+ deflateInit:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zdeflate.deflateInit(strm,level);
|
|
|
end;
|
|
|
|
|
|
function inflateInit(var strm:TZStream) : longint;inline;
|
|
|
begin
|
|
|
- inflateInit:=zinflate.inflateInit(strm);
|
|
|
+ inflateInit:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zinflate.inflateInit(strm);
|
|
|
end;
|
|
|
|
|
|
function deflateInit2(var strm:TZStream;level,method,windowBits,memLevel,strategy : longint) : longint;inline;
|
|
|
begin
|
|
|
- deflateInit2:=zdeflate.deflateInit2(strm,level,method,windowbits,memlevel,strategy);
|
|
|
+ deflateInit2:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zdeflate.deflateInit2(strm,level,method,windowbits,memlevel,strategy);
|
|
|
end;
|
|
|
|
|
|
function inflateInit2(var strm:TZStream; windowBits : longint) : longint;inline;
|
|
|
begin
|
|
|
- inflateInit2:=zinflate.inflateInit2_(strm,windowBits,ZLIB_VERSION,sizeof(TZStream));
|
|
|
+ inflateInit2:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zinflate.inflateInit2_(strm,windowBits,ZLIB_VERSION,sizeof(TZStream));
|
|
|
end;
|
|
|
|
|
|
function zError(err:longint):string;inline;
|
|
|
begin
|
|
|
- zerror:=zbase.zerror(err);
|
|
|
+ zerror:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zbase.zerror(err);
|
|
|
end;
|
|
|
|
|
|
function inflateSyncPoint(z:PZstream):longint;inline;
|
|
|
begin
|
|
|
- inflateSyncPoint:=zinflate.inflateSyncPoint(z^);
|
|
|
+ inflateSyncPoint:={$IFDEF FPC_DOTTEDUNITS}System.ZLib.{$ENDIF}zinflate.inflateSyncPoint(z^);
|
|
|
end;
|
|
|
|
|
|
function get_crc_table:pointer;inline;
|
|
|
begin
|
|
|
- get_crc_table:=crc.get_crc_table;
|
|
|
+ get_crc_table:={$IFDEF FPC_DOTTEDUNITS}System.Hash.{$ENDIF}crc.get_crc_table;
|
|
|
end;
|
|
|
|
|
|
end.
|