#include "cmGlobal.h" #include "cmRpt.h" #include "cmErr.h" #include "cmExec.h" #include cmExRC_t cmExecV( cmErr_t* err, int* returnValRef, const cmChar_t* pgmFn, va_list vl0 ) { cmExRC_t rc = kOkExRC; int n = 0; int i = 0; pid_t pid; va_list vl1; if( pgmFn == NULL ) return cmErrMsg(err,kInvalidPgmFnExRC,"No executable program file name given in call to %s.",__FUNCTION__); // get the count of arguments va_copy(vl1,vl0); while( va_arg(vl1,cmChar_t*)!=NULL ) ++n; va_end(vl1); // load argv with ptrs to the args cmChar_t* argv[n+2]; argv[0] = (cmChar_t*)pgmFn; for(i=0; i