Refactor parse_command
parse_command returns a struct that contains useful information about the result of a command as a whole (instead of the intermediate representation used during parsing). parse_command now requires the caller to allocate the yajl_gen used for generating a json reply. This is passed as the second parameter to parse_command. If NULL is passed, no json reply will be generated.
This commit is contained in:
committed by
Michael Stapelberg
parent
62ea60ba42
commit
c7aae56030
@ -45,13 +45,13 @@ void run_assignments(i3Window *window) {
|
||||
DLOG("execute command %s\n", current->dest.command);
|
||||
char *full_command;
|
||||
sasprintf(&full_command, "[id=\"%d\"] %s", window->id, current->dest.command);
|
||||
struct CommandResultIR *command_output = parse_command(full_command);
|
||||
CommandResult *result = parse_command(full_command, NULL);
|
||||
free(full_command);
|
||||
|
||||
if (command_output->needs_tree_render)
|
||||
if (result->needs_tree_render)
|
||||
needs_tree_render = true;
|
||||
|
||||
yajl_gen_free(command_output->json_gen);
|
||||
command_result_free(result);
|
||||
}
|
||||
|
||||
/* Store that we ran this assignment to not execute it again */
|
||||
|
Reference in New Issue
Block a user