Server IP : 184.154.167.98 / Your IP : 3.139.235.100 Web Server : Apache System : Linux pink.dnsnetservice.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : puertode ( 1767) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /opt/imunify360-webshield/site/lualib/ |
Upload File : |
-- -------------------------------------------------------------------------------- -- FILE: text_format.lua -- DESCRIPTION: protoc-gen-lua -- Google's Protocol Buffers project, ported to lua. -- https://code.google.com/p/protoc-gen-lua/ -- -- Copyright (c) 2010 , 林卓毅 (Zhuoyi Lin) netsnail@gmail.com -- All rights reserved. -- -- Use, modification and distribution are subject to the "New BSD License" -- as listed at <url: http://www.opensource.org/licenses/bsd-license.php >. -- COMPANY: NetEase -- CREATED: 2010年08月05日 15时14分13秒 CST -------------------------------------------------------------------------------- -- local string = string local math = math local print = print local getmetatable = getmetatable local table = table local ipairs = ipairs local tostring = tostring local descriptor = require "descriptor" module "text_format" function format(buffer) local len = string.len( buffer ) for i = 1, len, 16 do local text = "" for j = i, math.min( i + 16 - 1, len ) do text = string.format( "%s %02x", text, string.byte( buffer, j ) ) end print( text ) end end local FieldDescriptor = descriptor.FieldDescriptor msg_format_indent = function(write, msg, indent) for field, value in msg:ListFields() do local print_field = function(field_value) local name = field.name write(string.rep(" ", indent)) if field.type == FieldDescriptor.TYPE_MESSAGE then local extensions = getmetatable(msg)._extensions_by_name if extensions[field.full_name] then write("[" .. name .. "] {\n") else write(name .. " {\n") end msg_format_indent(write, field_value, indent + 4) write(string.rep(" ", indent)) write("}\n") else write(string.format("%s: %s\n", name, tostring(field_value))) end end if field.label == FieldDescriptor.LABEL_REPEATED then for _, k in ipairs(value) do print_field(k) end else print_field(value) end end end function msg_format(msg) local out = {} local write = function(value) out[#out + 1] = value end msg_format_indent(write, msg, 0) return table.concat(out) end