On Sun, Feb 03, 2002 at 08:08:19PM -0500, Daniel Berlin wrote:
>...
> +++ ./svn_fs.i  Sat Feb  2 23:56:32 2002
> @@ -63,6 +63,9 @@
>     all uses of "const char **" are returning strings
>  */
> 
> +%typemap(ignore) const char ** (const char *temp) {
> +    $1 = (char **) &temp;
> +}
>  %apply const char **OUTPUT { const char ** };
That ignore typemap shouldn't be needed because of the %apply. The apply
should pick up the ignore typemap defined for 'const char **OUTPUT' in
svn_string.i. My wrapper code for svn_fs.h shows this is working fine.
(I've using the CVS version of SWIG, which ought to be 1.3.11 right now)
>...
> +/* 
> -----------------------------------------------------------------------
> +   void ** is returning a baton or something like it.
> +*/
> +
> +%typemap(ignore) void ** (void * temp) {
> +    $1 = &temp;
> +}
> +%typemap(python,argout) void ** {
> +    $result = t_output_helper(
> +        $result,
> +        SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
> +}
This should have been handled by the application of OUTPARAM to void** at
the top of the file.
> +%typemap(ignore) svn_revnum_t * (svn_revnum_t temp) {
> +    $1 = &temp;
> +}
We need to be extra careful with applying unnamed typemaps to svn_revnum_t
because SWIG doesn't distinguish between that an 'svn_fs_id_t'. Note the
special handling to distinguish the uses of revnum and id_d at the bottom of
svn_fs.i.
Can you try running without the above local changes? I'd like to hope that
it will work out alright for you, since I'm seeing the output is okay.
>...
> +++ ./util.i    Sun Feb  3 15:27:10 2002
> @@ -18,7 +18,7 @@
> 
>  %module _util
> 
> -%include "typemaps.i"
> +%include typemaps.i
> 
>  %import apr.i
>  %import svn_types.i
> @@ -56,6 +56,14 @@
>  */
>  %apply const char **OUTPUT { const char ** };
> 
> +%typemap(python, in) FILE * {
> +       $1 = PyFile_AsFile($input);
> +       if ($1 == 0) {
> +          PyErr_SetString(PyExc_ValueError, "Must pass in a valid file 
> object");
> +          return NULL;
> +       }
> +}
Good stuff. I've applied this part of the patch.
>...
> +++ ./apr.i     Sun Feb  3 15:54:18 2002
> @@ -106,7 +106,7 @@
>  %typemap(python,argout) apr_file_t ** {
>      $result = t_output_helper(
>          $result,
> -        SWIG_NewPointerObj(*$1, $*1_descriptor), 0);
> +        SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Eek :-)  ... I've also applied this one.
Thanks,
-g
-- 
Greg Stein, http://www.lyra.org/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:37:04 2006