annotate examples/code/myset.c @ 20595:c1a6c31ac29a

eliminate more simple uses of error_state * ov-classdef.cc: Eliminate simple uses of error_state.
author John W. Eaton <jwe@octave.org>
date Tue, 06 Oct 2015 00:20:02 -0400
parents 5c42ff6f0eb1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
1 #include "mex.h"
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
2
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
3 void
16867
be41c30bcb44 Re-write documentation and all examples of dynamically linked functions.
Rik <rik@octave.org>
parents: 9053
diff changeset
4 mexFunction (int nlhs, mxArray* plhs[],
be41c30bcb44 Re-write documentation and all examples of dynamically linked functions.
Rik <rik@octave.org>
parents: 9053
diff changeset
5 int nrhs, const mxArray* prhs[])
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
6 {
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
7 char *str;
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
8 mxArray *v;
20297
5c42ff6f0eb1 Clean up MEX example code.
Rik <rik@octave.org>
parents: 19067
diff changeset
9 int found = 0;
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
10
20297
5c42ff6f0eb1 Clean up MEX example code.
Rik <rik@octave.org>
parents: 19067
diff changeset
11 if (nrhs != 2 || ! mxIsChar (prhs[0]))
5c42ff6f0eb1 Clean up MEX example code.
Rik <rik@octave.org>
parents: 19067
diff changeset
12 mexErrMsgTxt ("Arguments must be a symbol name and a value");
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
13
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
14 str = mxArrayToString (prhs[0]);
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
15
20297
5c42ff6f0eb1 Clean up MEX example code.
Rik <rik@octave.org>
parents: 19067
diff changeset
16 // FIXME: If variable does not exist, error is reported which prevents
5c42ff6f0eb1 Clean up MEX example code.
Rik <rik@octave.org>
parents: 19067
diff changeset
17 // subsequent mexGetArray function from working.
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
18 v = mexGetArray (str, "global");
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
19 if (v)
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
20 {
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
21 mexPrintf ("%s is a global variable with the following value:\n", str);
16867
be41c30bcb44 Re-write documentation and all examples of dynamically linked functions.
Rik <rik@octave.org>
parents: 9053
diff changeset
22 mexCallMATLAB (0, NULL, 1, &v, "disp");
20297
5c42ff6f0eb1 Clean up MEX example code.
Rik <rik@octave.org>
parents: 19067
diff changeset
23 found = 1;
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
24 }
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
25
20297
5c42ff6f0eb1 Clean up MEX example code.
Rik <rik@octave.org>
parents: 19067
diff changeset
26 if (! found)
5c42ff6f0eb1 Clean up MEX example code.
Rik <rik@octave.org>
parents: 19067
diff changeset
27 v = mexGetArray (str, "caller");
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
28
20297
5c42ff6f0eb1 Clean up MEX example code.
Rik <rik@octave.org>
parents: 19067
diff changeset
29 if (! found && v)
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
30 {
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
31 mexPrintf ("%s is a caller variable with the following value:\n", str);
16867
be41c30bcb44 Re-write documentation and all examples of dynamically linked functions.
Rik <rik@octave.org>
parents: 9053
diff changeset
32 mexCallMATLAB (0, NULL, 1, &v, "disp");
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
33 }
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
34
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
35 // WARNING!! Can't do this in MATLAB! Must copy variable first.
20297
5c42ff6f0eb1 Clean up MEX example code.
Rik <rik@octave.org>
parents: 19067
diff changeset
36 mexPutVariable ("caller", str, prhs[1]);
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents:
diff changeset
37 }