diff --git a/examples/myfeval.c b/examples/myfeval.c --- a/examples/myfeval.c +++ b/examples/myfeval.c @@ -4,7 +4,9 @@ mexFunction (int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]) { + int i; char *str; + mxArray **new_rhs; mexPrintf ("Hello, World!\n"); @@ -17,7 +19,13 @@ mexPrintf ("I'm going to call the function %s\n", str); - mexCallMATLAB (nlhs, plhs, nrhs-1, (mxArray*)prhs+1, str); + new_rhs = (mxArray **) mxMalloc ((nrhs-1) * sizeof (mxArray *)); + for (i = 0; i < nrhs-1; i++) + new_rhs[i] = mxDuplicateArray (prhs[i+1]); + + mexCallMATLAB (nlhs, plhs, nrhs-1, new_rhs, str); + + mxFree (new_rhs); mxFree (str); }