Mercurial > hg > octave-lyh
diff examples/myprop.c @ 6595:55586d763de1
[project @ 2007-04-27 15:31:10 by dbateman]
author | dbateman |
---|---|
date | Fri, 27 Apr 2007 15:31:10 +0000 |
parents | |
children | 4270ded9ddc6 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/examples/myprop.c @@ -0,0 +1,25 @@ +#include "mex.h" + +void +mexFunction (int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]) +{ + double handle; + char property[256]; + + if (nrhs < 2 || nrhs > 3) + mexErrMsgTxt ("incorrect number of arguments"); + if (!mxIsDouble(prhs[0])) + mexErrMsgTxt ("handle expected to be a double scalar"); + if (!mxIsChar (prhs[1])) + mexErrMsgTxt ("expected property to be a string"); + + handle = mxGetScalar (prhs[0]); + mxGetString (prhs[1], property, 256); + plhs[0] = mxDuplicateArray (mexGet (handle, property)); + + if (nrhs == 3) + if (mexSet (handle, property, mxDuplicateArray (prhs[2]))) + mexErrMsgTxt ("failed to set property"); +} + +