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; }
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; }