From 35c8c6379358a94f7e3c02a0705da1f2a6fe2860 Mon Sep 17 00:00:00 2001 From: Cloud Wu Date: Mon, 11 May 2015 21:39:56 +0800 Subject: [PATCH] update sproto, bugfix sproto_dump --- lualib-src/sproto/sproto.c | 6 +++++- lualib/sprotoparser.lua | 5 +---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lualib-src/sproto/sproto.c b/lualib-src/sproto/sproto.c index c37fdc1b..11756796 100644 --- a/lualib-src/sproto/sproto.c +++ b/lualib-src/sproto/sproto.c @@ -500,7 +500,11 @@ sproto_dump(struct sproto *s) { printf("=== %d protocol ===\n", s->protocol_n); for (i=0;iprotocol_n;i++) { struct protocol *p = &s->proto[i]; - printf("\t%s (%d) request:%s", p->name, p->tag, p->p[SPROTO_REQUEST]->name); + if (p->p[SPROTO_REQUEST]) { + printf("\t%s (%d) request:%s", p->name, p->tag, p->p[SPROTO_REQUEST]->name); + } else { + printf("\t%s (%d) request:(null)", p->name, p->tag); + } if (p->p[SPROTO_RESPONSE]) { printf(" response:%s", p->p[SPROTO_RESPONSE]->name); } diff --git a/lualib/sprotoparser.lua b/lualib/sprotoparser.lua index e7da7fa0..7b0b04e2 100644 --- a/lualib/sprotoparser.lua +++ b/lualib/sprotoparser.lua @@ -194,7 +194,7 @@ local function check_protocol(r) local request = v.request local response = v.response local p = map[tag] - + if p then error(string.format("redefined protocol tag %d at %s", tag, name)) end @@ -340,9 +340,6 @@ local function packtype(name, t, alltypes) end local function packproto(name, p, alltypes) --- if p.request == nil then --- error(string.format("Protocol %s need request", name)) --- end if p.request then local request = alltypes[p.request] if request == nil then