Кто-нибудь пробовал работать с встроенными функциями Compress() / DeCompress() в C91 ?
Я попробовал с их помощью написать простую упаковку / распаковку файла и столкнулся с одной непонятной странностью.
Loc:BufferUnPack &String
Loc:BufferPack &String
Loc:Result Long
Code
DeCompress(Loc:BufferUnPack,Loc:BufferPack,Loc:Result)
упорно возвращает Loc:Result = -2 (Stream error), до тех пор пока перед распаковкой явно не будет
задан размер выходного буфера: Loc:BufferUnPack &= New(String(Размер распакованного файла)),
чего судя по описанию и примерам делать не надо ...
Да и здравая логика хромает - откуда я знаю какой размер будет иметь распакованный архив ?!
В принципе проблему решил - все работает. Дописал 10 байт с размером несжатого файла в хвост архива,
и объявлением строки под этот размер при распаковке, но осталось ощущение, что что-то здесь не так ...
