From: Ingo Bürk Date: Sat, 28 Feb 2015 23:13:37 +0000 (+0100) Subject: Glob filepath when calling append_layout X-Git-Tag: 4.9.1~2 X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3;a=commitdiff_plain;h=6c675cc3f67427b17f1c28aa196ea017ea5ee55e Glob filepath when calling append_layout fixes #1500 --- diff --git a/src/commands.c b/src/commands.c index 13e0fa7e..0a64b2b8 100644 --- a/src/commands.c +++ b/src/commands.c @@ -902,11 +902,15 @@ void cmd_nop(I3_CMD, char *comment) { void cmd_append_layout(I3_CMD, char *path) { LOG("Appending layout \"%s\"\n", path); + /* Make sure we allow paths like '~/.i3/layout.json' */ + path = resolve_tilde(path); + json_content_t content = json_determine_content(path); LOG("JSON content = %d\n", content); if (content == JSON_CONTENT_UNKNOWN) { ELOG("Could not determine the contents of \"%s\", not loading.\n", path); ysuccess(false); + free(path); return; } @@ -948,6 +952,7 @@ void cmd_append_layout(I3_CMD, char *path) { if (content == JSON_CONTENT_WORKSPACE) ipc_send_workspace_event("restored", parent, NULL); + free(path); cmd_output->needs_tree_render = true; }