Mercurial > octave-dspies
view examples/myfeval.c @ 18367:d1e16bdb3958 stable
myfeval.c: Fix segfault in mex example code.
* myfeval.c: Correctly cast away const attribute of prhs[].
Also, add code to work with Octave's built-in 'ans' variable.
* external.txi: Update example in External Code Interface for myfeval.
author | Rik <rik@octave.org> |
---|---|
date | Fri, 24 Jan 2014 09:09:48 -0800 |
parents | 224e76250443 |
children |
line wrap: on
line source
#include "mex.h" void mexFunction (int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]) { char *str; mexPrintf ("Starting file myfeval.mex\n"); mexPrintf ("I have %d inputs and %d outputs\n", nrhs, nlhs); if (nrhs < 1 || ! mxIsString (prhs[0])) mexErrMsgTxt ("ARG1 must be a function name"); str = mxArrayToString (prhs[0]); mexPrintf ("I'm going to call the function %s\n", str); if (nlhs == 0) nlhs = 1; // Octave's automatic 'ans' variable /* Cast prhs just to get rid of 'const' qualifier and stop compile warning */ mexCallMATLAB (nlhs, plhs, nrhs-1, (mxArray**)prhs+1, str); mxFree (str); }