int main(int argc, char *argv[]) {
        int r;

        log_parse_environment();
        log_open();

        r = parse_argv(argc, argv);
        if (r <= 0)
                return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;

        if (arg_commit)
                r = machine_id_commit(arg_root);
        else
                r = machine_id_setup(arg_root);


        return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}
int main(int argc, char *argv[]) {
    int r;

    log_parse_environment();
    log_open();

    r = parse_argv(argc, argv);
    if (r <= 0)
        goto finish;

    if (arg_commit)
        r = machine_id_commit(arg_root);
    else
        r = machine_id_setup(arg_root, SD_ID128_NULL);

finish:
    free(arg_root);
    return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}