From e665bfe64a88a2e9fecc88382c78a93392e78901 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer <mschiffer@universe-factory.net> Date: Thu, 19 Jan 2017 16:39:34 +0100 Subject: [PATCH] gluon-core: don't depend on luci.ltn12 --- .../luasrc/usr/lib/lua/gluon/site_config.lua | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/package/gluon-core/luasrc/usr/lib/lua/gluon/site_config.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/site_config.lua index 4c0a2d221..7e27525d0 100644 --- a/package/gluon-core/luasrc/usr/lib/lua/gluon/site_config.lua +++ b/package/gluon-core/luasrc/usr/lib/lua/gluon/site_config.lua @@ -1,27 +1,29 @@ local function get_site_config() - local config = '/lib/gluon/site.json' + local config = '/lib/gluon/site.json' - local json = require 'luci.jsonc' - local ltn12 = require 'luci.ltn12' + local json = require 'luci.jsonc' + local decoder = json.new() + local sink = decoder:sink() - local file = assert(io.open(config)) + local file = assert(io.open(config)) - local decoder = json.new() - ltn12.pump.all(ltn12.source.file(file), decoder:sink()) + while true do + local chunk = file:read(2048) + if not chunk or chunk:len() == 0 then break end + sink(chunk) + end - file:close() + file:close() - return assert(decoder:get()) + return assert(decoder:get()) end local setmetatable = setmetatable module 'gluon.site_config' -setmetatable(_M, - { - __index = get_site_config(), - } -) +setmetatable(_M, { + __index = get_site_config(), +}) return _M -- GitLab