From c95e7b554e454d4e5fd256b7cdc770ef310fc8f4 Mon Sep 17 00:00:00 2001 From: Eugine Blikh <bigbes@gmail.com> Date: Tue, 23 Jul 2013 18:12:30 +0400 Subject: [PATCH] Fix for bug #1204040: cdata, that returns, may be not only UINT64 or INT64 --- src/lua/init.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lua/init.cc b/src/lua/init.cc index 78e82997f9..7062527457 100644 --- a/src/lua/init.cc +++ b/src/lua/init.cc @@ -950,7 +950,17 @@ tarantool_lua_printstack_yaml(struct lua_State *L, struct tbuf *out) GCcdata *cd = cdataV(L->base + i - 1); const char *sz = tarantool_lua_tostring(L, i); int len = strlen(sz); - int chop = (cd->ctypeid == CTID_UINT64 ? 3 : 2); + int chop; + switch (cd->ctypeid){ + case CTID_UINT64: + chop = 3; + break; + case CTID_INT64: + chop = 2; + break; + default: + chop = 0; + } tbuf_printf(out, " - %-.*s" CRLF, len - chop, sz); } else tbuf_printf(out, " - %s" CRLF, -- GitLab