Index: svn_client.i =================================================================== --- svn_client.i +++ svn_client.i Sat Aug 31 00:47:06 2002 @@ -33,7 +33,6 @@ ### we don't have immediately handy. just eliminate these funcs for now. */ %ignore svn_client_commit; %ignore svn_client_log; -%ignore svn_client_diff; /* ----------------------------------------------------------------------- all "targets" and "diff_options" arrays are constant inputs of @@ -50,6 +49,23 @@ %apply apr_hash_t **PROPHASH { apr_hash_t **props }; /* ----------------------------------------------------------------------- + In svn_client_diff, convert a python array into a apr_array_header_t. + We need a pool for this, and we want to use the pool that is being + passed in as the 10th argument to svn_client_diff. To make this happen, + we use an abusive hack and emulate swig's generated code to find + that parameter and convert it into a usable apr_pool_t. +*/ + +%typemap(in) (const apr_array_header_t *diff_options) { + apr_pool_t *array_pool; + if ((SWIG_ConvertPtr(obj9, (void **) &array_pool, + SWIGTYPE_p_apr_pool_t, 1)) == -1) + return NULL; + $1 = svn_swig_py_strings_to_array($input, array_pool); +} + + +/* ----------------------------------------------------------------------- handle the return value for svn_client_proplist() */