From 2def9397a07780a8258a30c2bf60027e006f17c0 Mon Sep 17 00:00:00 2001 From: bol-van Date: Wed, 7 Jan 2026 08:31:23 +0300 Subject: [PATCH] zapret-lib: add expected_ratio to z_readfile --- docs/manual.md | 3 ++- lua/zapret-lib.lua | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/manual.md b/docs/manual.md index dbe6fec..efa2ad3 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -3067,10 +3067,11 @@ function readfile(filename) Читает весь файл. Вызывается error в случае ошибки при открытии или чтении файла. ``` -function z_readfile(filename) +function z_readfile(filename, expected_ratio) ``` Автоматически определяет является ли файл gzip. Если да - расжимает, если нет - читает без изменений. Вызывается error в случае ошибки при открытии или чтении файла. +expected_ratio - ожидаемое соотношение длины разжатых данных к длине сжатых данных (по умолчанию 4). ``` function writefile(filename, data) diff --git a/lua/zapret-lib.lua b/lua/zapret-lib.lua index d4f73ee..50140f1 100644 --- a/lua/zapret-lib.lua +++ b/lua/zapret-lib.lua @@ -1520,8 +1520,9 @@ function readfile(filename) return s end -- reads plain or gzipped file with transparent decompression -function z_readfile(filename) - return is_gzip_file(filename) and gunzip_file(filename) or readfile(filename) +-- expected_ratio = uncompressed_size/compressed_size (default 4) +function z_readfile(filename, expected_ratio) + return is_gzip_file(filename) and gunzip_file(filename, expected_ratio) or readfile(filename) end -- write data to filename function writefile(filename, data)