When using uncompress() it returns -3 Data Error. Is it the wrong command to decompress HTTP/1.1 gzip page with zlib? Any aid would be much appreciated..., like always I'm very grateful for any and all support.
In UnCompressedLength: 559903
CompressedLength - ReadLong: 0
CompressedLength Lof(): 3941
*UnCompressed MemorySize: 559903
*Compressed MemorySize: 3941
PackStatus: -3 ....0 is Good, -3 is Data Error
Anything stored in *UnCompressed?:
CRC32 from File: 1541735168
CRC32Fingerprint: 786209370
UnpackedMemory: 5369017152
Code: Select all
ImportC "zlib.lib"
uncompress(*UnCompressed, *UnCompressedLength, *Compressed, CompressedLength)
EndImport
ReadOK = ReadFile(#PB_Any, "gzip-webpage.gz")
If ReadOK
UnCompressedLength = ReadLong(ReadOK) ; g15765
If UnCompressedLength : Debug "In UnCompressedLength: "+Str(UnCompressedLength)
CompressedLength.l = ReadLong(ReadOK) : Debug "CompressedLength - ReadLong: "+Str(CompressedLength)
If CompressedLength = 0 : CompressedLength = Lof(ReadOK) : EndIf
CRC32.l = ReadLong(ReadOK)
Debug "CompressedLength Lof(): "+CompressedLength
*UnCompressed = AllocateMemory(UnCompressedLength) : Debug "*UnCompressed MemorySize: "+MemorySize(*UnCompressed)
*Compressed = AllocateMemory(CompressedLength) : Debug "*Compressed MemorySize: "+MemorySize(*Compressed)
ReadData(ReadOK, *Compressed, CompressedLength)
CloseFile(ReadOK)
PackStatus.b = uncompress(*UnCompressed, @UnCompressedLength, *Compressed, CompressedLength)
Debug "PackStatus: "+PackStatus + " ....0 is Good, -3 is Data Error"
If PackStatus = 0 : Result.l = MemorySize(*UnCompressed) : Else : Result = 0 : EndIf
If *Compressed : FreeMemory(*Compressed) : EndIf
UnpackedMemory = @*UnCompressed
Debug "Any from *UnCompressed?: "+PeekS(*UnCompressed, UnCompressedLength)
Debug "CRC32 from File: "+CRC32
Debug "CRC32Fingerprint: "+CRC32Fingerprint(*UnCompressed, UnCompressedLength)
Debug "UnpackedMemory: "+Str(UnpackedMemory)
; If CreateFile(0, "MeLikeMeSave.U")
; WriteData(0, *UnCompressed, MemorySize(*UnCompressed))
; CloseFile(0)
; EndIf
If *UnCompressed : FreeMemory(*UnCompressed) : EndIf
EndIf
EndIf