avoid extra casting since they conflict with 'const', reported by James Bigler

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8263 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2006-01-06 23:08:06 +00:00
commit b279ccbb03
2 changed files with 23 additions and 7 deletions

View file

@ -22,3 +22,23 @@ int get_value(int *x, int i) {
#ifdef __cplusplus
%inline
{
struct Material
{
};
class RayPacketData {
public:
enum {
Size = 32
};
Material const* hitMatl[Size];
};
}
#endif

View file

@ -120,22 +120,18 @@
/* memberin/globalin/varin, for fix arrays. */
%typemap(memberin) SWIGTYPE [ANY] {
$basetype *inp = %static_cast($input, $basetype *);
if (inp) {
$basetype *dest = %static_cast($1, $basetype *);
if ($input) {
size_t ii = 0;
for (; ii < $dim0; ++ii) dest[ii] = inp[ii];
for (; ii < $dim0; ++ii) $1[ii] = $input[ii];
} else {
%variable_nullref("$type","$name");
}
}
%typemap(globalin) SWIGTYPE [ANY] {
$basetype *inp = %static_cast($input, $basetype *);
if (inp) {
$basetype *dest = %static_cast($1, $basetype *);
size_t ii = 0;
for (; ii < $dim0; ++ii) dest[ii] = inp[ii];
for (; ii < $dim0; ++ii) $1[ii] = $input[ii];
} else {
%variable_nullref("$type","$name");
}