I have noticed a problem with the errorObj mapserver/mapscript/swig/perl
object.
Its treated as an array, the generated code to get the message looks
like this:
arg1 = (errorObj *)(argp1);
result = (char *)(char *) ((arg1)->message);
{
size_t size = 2048;
while (size && (result[size - 1] == '\0')) --size;
ST(argvi) = SWIG_FromCharPtrAndSize(result, size); argvi++ ;
}
When I log errors:
my $errObj = new mapscript::errorObj();
while ($errObj)
{
$s .= "ERROR:
$errObj->{code}:$errObj->{message}:$errObj->{routine}<br>";
$errObj = $errObj->next();
}
I get the message, but then huge amounts of garbage data as well.
In plmodule.i I tried to add a typemap:
%typemap(memberout) char[ANY] {
$result = newSVpvn($1, strlen($1));
argvi++;
}
But it doesn't seem to work, the generated code is exactly the same as
it was before. (I'm new to mapscript and swig, so I'm just guessing)
Any help or hints on how I might fix this?
Thanks,
-Andy
_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users