Пример #1
0
int gt_toolobjdriver(GtToolConstructor tool_constructor, int argc, char *argv[])
{
  GtTool *tool;
  GtError *err;
  int had_err;
  gt_allocators_init();
  err = gt_error_new();
  gt_error_set_progname(err, argv[0]);
  tool = tool_constructor();
  had_err = gt_tool_run(tool, argc, (const char**) argv, err);
  gt_tool_delete(tool);
  if (gt_error_is_set(err)) {
    fprintf(stderr, "%s: error: %s\n", gt_error_get_progname(err),
            gt_error_get(err));
    gt_assert(had_err);
  }
  gt_error_delete(err);
  if (gt_allocators_clean())
    return 2; /* programmer error */
  if (had_err)
    return EXIT_FAILURE;
  return EXIT_SUCCESS;
}
Пример #2
0
void gt_toolinfo_delete(GtToolinfo *toolinfo)
{
  if (!toolinfo) return;
  gt_tool_delete(toolinfo->tool);
  gt_free(toolinfo);
}