00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "mex.h"
00024
00025 void
00026 mexFunction (int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
00027 {
00028 char *str;
00029 mxArray *v;
00030
00031 if (nrhs != 2 || ! mxIsString (prhs[0]))
00032 mexErrMsgTxt ("expects symbol name and value");
00033
00034 str = mxArrayToString (prhs[0]);
00035
00036 v = mexGetArray (str, "global");
00037
00038 if (v)
00039 {
00040 mexPrintf ("%s is a global variable with the following value:\n", str);
00041 mexCallMATLAB (0, 0, 1, &v, "disp");
00042 }
00043
00044 v = mexGetArray (str, "caller");
00045
00046 if (v)
00047 {
00048 mexPrintf ("%s is a caller variable with the following value:\n", str);
00049 mexCallMATLAB (0, 0, 1, &v, "disp");
00050 }
00051
00052
00053 mxSetName (prhs[1], str);
00054 mexPutArray (prhs[1], "caller");
00055 }