ovn-nbctl: Pull up destroying commands from do_nbctl().
Destroy commands in the same routine where they were allocated.
Preparatory work for reusing the main loop in daemon mode.
@@ -127,6 +127,13 @@ main(int argc, char *argv[])
main_loop(args, commands, n_commands, idl);
+ for (struct ctl_command *c = commands; c < &commands[n_commands]; c++) {
+ ds_destroy(&c->output);
+ table_destroy(c->table);
+ free(c->table);
+ shash_destroy_free_data(&c->options);
+ }
+ free(commands);
free(args);
exit(EXIT_SUCCESS);
}
@@ -4422,13 +4429,7 @@ do_nbctl(const char *args, struct ctl_command *commands, size_t n_commands,
} else {
fputs(ds_cstr(ds), stdout);
}
- ds_destroy(&c->output);
- table_destroy(c->table);
- free(c->table);
-
- shash_destroy_free_data(&c->options);
}
- free(commands);
if (wait_type != NBCTL_WAIT_NONE && status != TXN_UNCHANGED) {
ovsdb_idl_enable_reconnect(idl);
