commit 66fb742: [Minor] Lua_logger: Support light userdata

Vsevolod Stakhov vsevolod at highsecure.ru
Mon Sep 16 12:21:09 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-09-16 13:16:10 +0100
URL: https://github.com/rspamd/rspamd/commit/66fb74246b4b27d65d79e45e0280fe3ab71c0923 (HEAD -> master)

[Minor] Lua_logger: Support light userdata

---
 src/lua/lua_logger.c | 53 +++++++++++++++++++++++++++-------------------------
 1 file changed, 28 insertions(+), 25 deletions(-)

diff --git a/src/lua/lua_logger.c b/src/lua/lua_logger.c
index bca4bc6e3..f76db8877 100644
--- a/src/lua/lua_logger.c
+++ b/src/lua/lua_logger.c
@@ -575,31 +575,34 @@ lua_logger_out_type (lua_State *L, gint pos,
 	trace->cur_level ++;
 
 	switch (type) {
-		case LUA_TNUMBER:
-			r = lua_logger_out_num (L, pos, outbuf, len, trace);
-			break;
-		case LUA_TBOOLEAN:
-			r = lua_logger_out_boolean (L, pos, outbuf, len, trace);
-			break;
-		case LUA_TTABLE:
-			r = lua_logger_out_table (L, pos, outbuf, len, trace, esc_type);
-			break;
-		case LUA_TUSERDATA:
-			r = lua_logger_out_userdata (L, pos, outbuf, len, trace);
-			break;
-		case LUA_TFUNCTION:
-			r = rspamd_snprintf (outbuf, len + 1, "function");
-			break;
-		case LUA_TNIL:
-			r = rspamd_snprintf (outbuf, len + 1, "nil");
-			break;
-		case LUA_TNONE:
-			r = rspamd_snprintf (outbuf, len + 1, "no value");
-			break;
-		default:
-			/* Try to push everything as string using tostring magic */
-			r = lua_logger_out_str (L, pos, outbuf, len, trace, esc_type);
-			break;
+	case LUA_TNUMBER:
+		r = lua_logger_out_num (L, pos, outbuf, len, trace);
+		break;
+	case LUA_TBOOLEAN:
+		r = lua_logger_out_boolean (L, pos, outbuf, len, trace);
+		break;
+	case LUA_TTABLE:
+		r = lua_logger_out_table (L, pos, outbuf, len, trace, esc_type);
+		break;
+	case LUA_TUSERDATA:
+		r = lua_logger_out_userdata (L, pos, outbuf, len, trace);
+		break;
+	case LUA_TFUNCTION:
+		r = rspamd_snprintf (outbuf, len + 1, "function");
+		break;
+	case LUA_TLIGHTUSERDATA:
+		r = rspamd_snprintf (outbuf, len + 1, "0x%p", lua_topointer (L, pos));
+		break;
+	case LUA_TNIL:
+		r = rspamd_snprintf (outbuf, len + 1, "nil");
+		break;
+	case LUA_TNONE:
+		r = rspamd_snprintf (outbuf, len + 1, "no value");
+		break;
+	default:
+		/* Try to push everything as string using tostring magic */
+		r = lua_logger_out_str (L, pos, outbuf, len, trace, esc_type);
+		break;
 	}
 
 	trace->cur_level --;


More information about the Commits mailing list