Невозможно использовать `deflateInit` для сжатия измененных данных

Я занимаюсь разработкой LSP, который отслеживает HTTP-трафик и модифицирует исходный HTML-код каждой веб-страницы. Чтобы изменить HTTP-ответ, который разделен на части, я использовал zlib а также inflate и успешно распаковал данные, используя следующую основную строку кода:

r = inflateInit2(&z, 16 + MAX_WBITS);
...
r = inflate(&z, 0);

Теперь, после модификации, я хочу повторно сжать данные, используя тот же метод, поэтому я использую следующую строку кода, но она возвращает -2.

r = deflateInit(&o, 16 + MAX_WBITS);

Если я изменю 16+MAX_WBITS это возвращается SUCCESS но это не тот же метод и возвращает неверный ответ после deflate,

Как я могу достичь своей цели?

0

Решение

Вам нужно использовать deflateInit2(), Четвертый аргумент будет 16 + MAX_WBITS, Пожалуйста, прочитайте документацию в zlib.h

1

Другие решения


По вопросам рекламы [email protected]