예제 #1
0
static int
parallelsDoCmdRun(char **outbuf, const char *binary, va_list list)
{
    virCommandPtr cmd = virCommandNewVAList(binary, list);
    char *scmd = NULL;
    int ret = -1;

    if (outbuf)
        virCommandSetOutputBuffer(cmd, outbuf);

    scmd = virCommandToString(cmd);
    if (!scmd)
        goto cleanup;

    if (virCommandRun(cmd, NULL))
        goto cleanup;

    ret = 0;

  cleanup:
    VIR_FREE(scmd);
    virCommandFree(cmd);
    if (ret)
        VIR_FREE(*outbuf);
    return ret;
}
예제 #2
0
파일: vz_utils.c 프로젝트: JGulic/libvirt
static int
vzDoCmdRun(char **outbuf, const char *binary, va_list list)
{
    virCommandPtr cmd = virCommandNewVAList(binary, list);
    int ret = -1;

    if (outbuf)
        virCommandSetOutputBuffer(cmd, outbuf);

    if (virCommandRun(cmd, NULL) < 0)
        goto cleanup;

    ret = 0;

 cleanup:
    virCommandFree(cmd);
    if (ret && outbuf)
        VIR_FREE(*outbuf);
    return ret;
}