MCPcopy Create free account
hub / github.com/bloomberg/comdb2 / luabb_dumpcstack_

Function luabb_dumpcstack_

lua/luautil.c:113–165  ·  view source on GitHub ↗

don't call from any of the l_*_tostring functions

Source from the content-addressed store, hash-verified

111
112//don't call from any of the l_*_tostring functions
113void luabb_dumpcstack_(Lua lua)
114{
115 int i;
116 int top = lua_gettop(lua);
117
118 for (i = top; i; --i) {
119 logmsg(LOGMSG_USER, "%2d: ", i);
120 switch (lua_type(lua, i)) {
121 case LUA_TNIL:
122 logmsg(LOGMSG_USER, "nil\n");
123 break;
124 case LUA_TBOOLEAN:
125 logmsg(LOGMSG_USER, "boolean: %s\n", lua_toboolean(lua, i) == 0 ? "false" : "true");
126 break;
127 case LUA_TLIGHTUSERDATA:
128 logmsg(LOGMSG_USER, "lightuserdata\n");
129 break;
130 case LUA_TNUMBER:
131 logmsg(LOGMSG_USER, "number: %f\n", lua_tonumber(lua, i));
132 break;
133 case LUA_TSTRING:
134 logmsg(LOGMSG_USER, "string: \"%s\"\n", lua_tostring(lua, i));
135 break;
136 case LUA_TTABLE:
137 logmsg(LOGMSG_USER, "table\n");
138 break;
139 case LUA_TFUNCTION:
140 logmsg(LOGMSG_USER, "function\n");
141 break;
142 case LUA_TTHREAD:
143 logmsg(LOGMSG_USER, "thread\n");
144 break;
145 case LUA_TUSERDATA: {
146 dbtypes_enum luabb_dbtype(lua_State *, int index);
147 dbtypes_enum t = luabb_dbtype(lua, i);
148 if (t >= DBTYPES_MAXTYPE) {
149 logmsg(LOGMSG_USER, "invalid type\n");
150 } else {
151 if (dbtypes_tostring[t]) {
152 logmsg(LOGMSG_USER, "%s: %s\n", dbtypes_str[t], luabb_tostring(lua, i));
153 } else {
154 logmsg(LOGMSG_USER, "%s\n", dbtypes_str[t]);
155 }
156 }
157 break;
158 }
159 default:
160 logmsg(LOGMSG_USER, "unknown type %d\n",lua_type(lua, i));
161 break;
162
163 }
164 }
165}
166
167int luabb_issql_type(lua_State *lua, int index, int sql_type)
168{

Callers

nothing calls this directly

Calls 6

lua_gettopFunction · 0.85
lua_typeFunction · 0.85
lua_tobooleanFunction · 0.85
lua_tonumberFunction · 0.85
luabb_tostringFunction · 0.85
logmsgFunction · 0.50

Tested by

no test coverage detected