cloudwu/skynet

sproto dump 无法正确处理*array()

mrcaorui opened this issue · 2 comments

./core.lua:47: syntax error at [.sproto] line (108)
stack traceback:
        [C]: in function 'error'
        ./core.lua:47: in function <./core.lua:46>
        [C]: in function 'lpeg.match'
        ./core.lua:291: in upvalue 'parser'
        ./core.lua:317: in function 'core.gen_trunk'
        sprotodump.lua:57: in main chunk
        [C]: in ?

怀疑是core.lua这一句不能正确匹配的原因?
local mainkey = "(" * blank0 * name * blank0 * ")"
我改成
local mainkey = "(" * blank0 * (name^0) * blank0 * ")"
看起来就解决了

请给出出错的 .proto 文件。

如果你指数组,你必须写 *array 不能写 *array()