瀏覽代碼

[Minor] Do not print pointer if successfully converted UD to a string

tags/1.7.8
Vsevolod Stakhov 5 年之前
父節點
當前提交
b37be54bd8
共有 1 個檔案被更改,包括 13 行新增1 行删除
  1. 13
    1
      src/lua/lua_logger.c

+ 13
- 1
src/lua/lua_logger.c 查看文件

@@ -319,6 +319,7 @@ lua_logger_out_userdata (lua_State *L, gint pos, gchar *outbuf, gsize len)
{
gint r, top;
const gchar *str = NULL;
gboolean converted_to_str = FALSE;

top = lua_gettop (L);

@@ -348,6 +349,10 @@ lua_logger_out_userdata (lua_State *L, gint pos, gchar *outbuf, gsize len)
}

str = lua_tostring (L, -1);

if (str) {
converted_to_str = TRUE;
}
}
else {
lua_pushstring (L, "class");
@@ -362,7 +367,14 @@ lua_logger_out_userdata (lua_State *L, gint pos, gchar *outbuf, gsize len)
str = lua_tostring (L, -1);
}

r = rspamd_snprintf (outbuf, len + 1, "%s(%p)", str, lua_touserdata (L, pos));
if (converted_to_str) {
r = rspamd_snprintf (outbuf, len + 1, "%s", str);
}
else {
/* Print raw pointer */
r = rspamd_snprintf (outbuf, len + 1, "%s(%p)", str, lua_touserdata (L, pos));
}

lua_settop (L, top);

return r;

Loading…
取消
儲存