octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #54096] mxCreateStructMatrix with a NULL argum


From: Julien Bect
Subject: [Octave-bug-tracker] [bug #54096] mxCreateStructMatrix with a NULL argument creates a "corrupt" structure
Date: Mon, 11 Jun 2018 10:03:46 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0

URL:
  <http://savannah.gnu.org/bugs/?54096>

                 Summary: mxCreateStructMatrix with a NULL argument creates a
"corrupt" structure
                 Project: GNU Octave
            Submitted by: jbect
            Submitted on: Mon 11 Jun 2018 02:03:44 PM UTC
                Category: Interpreter
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Regression
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 4.4.0
        Operating System: Any

    _______________________________________________________

Details:

The following MEX-function:


#include "mex.h"

static const char* field_names[] = {"dudule"};

void mexFunction (int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{  
  if (nlhs > 1)   /* Check number of output arguments */
    mexErrMsgTxt ("Too many output arguments.");

  plhs[0] = mxCreateStructMatrix (1, 1, 1, field_names);

  mxSetFieldByNumber (plhs[0], 0, 0, NULL);  
}


returns in Octave 4.4 a "corrupt" structure that Octave cannot display:


>> toto
                                            ans =

                                              scalar structure containing the
fields:

                                                dudule =

error: octave_base_value::print (): wrong type argument '<unknown type>'


The same code works fine in Octave <= 4.2 (which is why I labelled this ticket
as "regression") and also in Matlab (and thus is also a "Matlab Compatibility"
issue, but one ticket cannot belong to two groups ;-)).

The problem disappears if an empty 0x0 matrix is created manually, like this:


mxSetFieldByNumber (plhs[0], 0, 0, mxCreateDoubleMatrix (0, 0, mxREAL));
-verbatim






    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?54096>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]