From daabbe364007fc7546df63981422b53b9a20c6fc Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 22 Apr 2015 20:55:05 +0200 Subject: lua: add utils.format_json() function Requested. Why not. --- player/lua.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'player') diff --git a/player/lua.c b/player/lua.c index 51c0e1a752..4ef772fd84 100644 --- a/player/lua.c +++ b/player/lua.c @@ -1255,6 +1255,23 @@ static int script_parse_json(lua_State *L) return 3; } +static int script_format_json(lua_State *L) +{ + void *tmp = mp_lua_PITA(L); + struct mpv_node node; + makenode(tmp, &node, L, 1); + char *dst = talloc_strdup(tmp, ""); + if (json_write(&dst, &node) >= 0) { + lua_pushstring(L, dst); + lua_pushnil(L); + } else { + lua_pushnil(L); + lua_pushstring(L, "error"); + } + talloc_free_children(tmp); + return 2; +} + #define FN_ENTRY(name) {#name, script_ ## name} struct fn_entry { const char *name; @@ -1303,6 +1320,7 @@ static const struct fn_entry utils_fns[] = { FN_ENTRY(join_path), FN_ENTRY(subprocess), FN_ENTRY(parse_json), + FN_ENTRY(format_json), {0} }; -- cgit v1.2.3