logo       

bug while wrapping const char arrays without an explicitly defined size: msg#00164

programming.swig

Subject: bug while wrapping const char arrays without an explicitly defined size

Using the latest CVS version:

If I have a char array defined like this:

const char BeginString_FIX44[8] = "FIX.4.4";

The wrapper for this is generated correctly like so:

static PyObject *_wrap_BeginString_FIX44_get() {
PyObject *pyobj;

pyobj = SWIG_FromCharArray(FIX::BeginString_FIX44, 8);
return pyobj;
}

However, if it is defined like so:

const char BeginString_FIX44[] = "FIX.4.4";

This gets generated:

static PyObject *_wrap_BeginString_FIX44_get() {
PyObject *pyobj;

pyobj = SWIG_FromCharArray(FIX::BeginString_FIX44, );
return pyobj;
}

As you can see the size is missing which of course results in compilation errors. It would seem to me in this case Swig should count up the characters in the string and place the value as the second parameter to FromCharArray. I'd be happy to try to create a patch but am not familiar with the source and would need someone to point me to the module where this generation occurs. Thanks.

-- oren

_______________________________________________
Swig maillist - Swig@xxxxxxxxxxxxxxx
http://mailman.cs.uchicago.edu/mailman/listinfo/swig



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise