diff examples/myfeval.c @ 18435: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 diff
--- a/examples/myfeval.c
+++ b/examples/myfeval.c
@@ -6,7 +6,7 @@
 {
   char *str;
 
-  mexPrintf ("Hello, World!\n");
+  mexPrintf ("Starting file myfeval.mex\n");
 
   mexPrintf ("I have %d inputs and %d outputs\n", nrhs, nlhs);
 
@@ -17,7 +17,11 @@
 
   mexPrintf ("I'm going to call the function %s\n", str);
 
-  mexCallMATLAB (nlhs, plhs, nrhs-1, (mxArray*)prhs+1, 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);
 }