Repo for the search and displace ingest module that takes odf, docx and pdf and transforms it into .md to be used with search and displace operations
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
Unit imzutil;
{ Copyright (C) 1998 by Jacques Nomssi Nzali For conditions of distribution and use, see copyright notice in readme.txt }
interface
{$I imzconf.inc}
{ Type declarations }
type {Byte = usigned char; 8 bits} Bytef = byte; charf = byte;
int = longint; intf = int; uInt = cardinal; { 16 bits or more } uIntf = uInt;
Long = longint; uLong = Cardinal; uLongf = uLong;
voidp = pointer; voidpf = voidp; pBytef = ^Bytef; pIntf = ^intf; puIntf = ^uIntf; puLong = ^uLongf;
ptr2int = uInt; { a pointer to integer casting is used to do pointer arithmetic. ptr2int must be an integer type and sizeof(ptr2int) must be less than sizeof(pointer) - Nomssi }
type zByteArray = array[0..(MaxInt div SizeOf(Bytef))-1] of Bytef; pzByteArray = ^zByteArray; type zIntfArray = array[0..(MaxInt div SizeOf(Intf))-1] of Intf; pzIntfArray = ^zIntfArray; type zuIntArray = array[0..(MaxInt div SizeOf(uInt))-1] of uInt; PuIntArray = ^zuIntArray;
{ Type declarations - only for deflate }
type uch = Byte; uchf = uch; { FAR } ush = Word; ushf = ush; ulg = LongInt;
unsigned = uInt;
pcharf = ^charf; puchf = ^uchf; pushf = ^ushf;
type zuchfArray = zByteArray; puchfArray = ^zuchfArray; type zushfArray = array[0..(MaxInt div SizeOf(ushf))-1] of ushf; pushfArray = ^zushfArray;
procedure zmemcpy(destp : pBytef; sourcep : pBytef; len : uInt); function zmemcmp(s1p, s2p : pBytef; len : uInt) : int; procedure zmemzero(destp : pBytef; len : uInt); procedure zcfree(opaque : voidpf; ptr : voidpf); function zcalloc (opaque : voidpf; items : uInt; size : uInt) : voidpf;
implementation
procedure zmemcpy(destp : pBytef; sourcep : pBytef; len : uInt); begin Move(sourcep^, destp^, len); end;
function zmemcmp(s1p, s2p : pBytef; len : uInt) : int; var j : uInt; source, dest : pBytef; begin source := s1p; dest := s2p; for j := 0 to pred(len) do begin if (source^ <> dest^) then begin zmemcmp := 2*Ord(source^ > dest^)-1; exit; end; Inc(source); Inc(dest); end; zmemcmp := 0; end;
procedure zmemzero(destp : pBytef; len : uInt); begin FillChar(destp^, len, 0); end;
procedure zcfree(opaque : voidpf; ptr : voidpf); {$ifdef Delphi16} var Handle : THandle; {$endif} {$IFDEF FPC} var memsize : uint; {$ENDIF} begin (* {$IFDEF DPMI} {h :=} GlobalFreePtr(ptr); {$ELSE} {$IFDEF CALL_DOS} dosFree(ptr); {$ELSE} {$ifdef HugeMem} FreeMemHuge(ptr); {$else} {$ifdef Delphi16} Handle := GlobalHandle(LH(ptr).H); { HiWord(LongInt(ptr)) } GlobalUnLock(Handle); GlobalFree(Handle); {$else} {$IFDEF FPC} Dec(puIntf(ptr)); memsize := puIntf(ptr)^; FreeMem(ptr, memsize+SizeOf(uInt)); {$ELSE} FreeMem(ptr); { Delphi 2,3,4 } {$ENDIF} {$endif} {$endif} {$ENDIF} {$ENDIF} *) FreeMem(ptr); end;
function zcalloc (opaque : voidpf; items : uInt; size : uInt) : voidpf; var p : voidpf; memsize : uLong; {$ifdef Delphi16} handle : THandle; {$endif} begin memsize := uLong(items) * size; (* { $IFDEF DPMI} p := GlobalAllocPtr(gmem_moveable, memsize); { $ELSE} { $IFDEF CALLDOS} p := dosAlloc(memsize); { $ELSE} {$ifdef HugeMem} GetMemHuge(p, memsize); { $else} { $ifdef Delphi16} Handle := GlobalAlloc(HeapAllocFlags, memsize); p := GlobalLock(Handle); { $else} { $IFDEF FPC} GetMem(p, memsize+SizeOf(uInt)); puIntf(p)^:= memsize; Inc(puIntf(p)); { $ELSE} GetMem(p, memsize); { Delphi: p := AllocMem(memsize); } { $ENDIF} { $endif} { $endif} { $ENDIF} { $ENDIF} *) GetMem(p, memsize); zcalloc := p; end;
end.
|