view examples/myprop.c @ 17343:583306fe7e4f

Fix reading of images with height or width of 1 pixel. * __magick_read__.cc (calculate_region): this function uses an octave range from the options which is set in the Octave language with the colon operator. However, when there's only one element, the colon operator actually is of type scalar.
author Carnë Draug <carandraug@octave.org>
date Wed, 28 Aug 2013 08:41:55 +0100
parents be41c30bcb44
children
line wrap: on
line source

#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");
}