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