diff options
Diffstat (limited to 'subversion/bindings/swig/include/svn_containers.swg')
-rw-r--r-- | subversion/bindings/swig/include/svn_containers.swg | 53 |
1 files changed, 48 insertions, 5 deletions
diff --git a/subversion/bindings/swig/include/svn_containers.swg b/subversion/bindings/swig/include/svn_containers.swg index b783fdf..e2eeaa9 100644 --- a/subversion/bindings/swig/include/svn_containers.swg +++ b/subversion/bindings/swig/include/svn_containers.swg @@ -269,8 +269,10 @@ %typemap(in) apr_hash_t *PROPHASH (apr_pool_t *_global_pool = NULL) { - if (_global_pool == NULL) + if (_global_pool == NULL) { _global_pool = svn_swig_pl_make_pool((SV *)NULL); + SPAGAIN; + } $1 = svn_swig_pl_hash_to_prophash($input, _global_pool); } %typemap(out) apr_hash_t *PROPHASH @@ -426,6 +428,25 @@ { $1 = svn_swig_py_path_revs_hash_from_dict($input, _global_pool); } +%typemap(in) apr_hash_t *unlock_targets +{ + $1 = svn_swig_py_stringhash_from_dict($input, _global_pool); +} +%typemap(in) apr_hash_t *lock_targets + (apr_pool_t *_global_pool, PyObject *_global_pool = NULL) +{ + if (_global_pool == NULL) + { + if (svn_swig_py_get_parent_pool(args, $descriptor(apr_pool_t *), + &_global_py_pool, &_global_pool)) + SWIG_fail; + } + $1 = svn_swig_py_struct_ptr_hash_from_dict($input, + $descriptor(svn_fs_lock_target_t *), _global_pool); + if (PyErr_Occurred()) { + SWIG_fail; + } +} #endif #ifdef SWIGPERL @@ -600,11 +621,11 @@ #endif #ifdef SWIGPERL %typemap(in) const apr_array_header_t *STRINGLIST { - $1 = (apr_array_header_t *) svn_swig_pl_strings_to_array($input, + $1 = svn_swig_pl_strings_to_array($input, _global_pool); } %typemap(in) const apr_array_header_t *STRINGLIST_MAY_BE_NULL { - $1 = SvOK($input) ? (apr_array_header_t *) svn_swig_pl_strings_to_array( + $1 = SvOK($input) ? svn_swig_pl_strings_to_array( $input, _global_pool) : NULL; } #endif @@ -646,7 +667,7 @@ */ #ifdef SWIGPERL %typemap(in) apr_array_header_t *providers { - $1 = (apr_array_header_t *) svn_swig_pl_objs_to_array($input, + $1 = svn_swig_pl_objs_to_array($input, $descriptor(svn_auth_provider_object_t *), _global_pool); } #endif @@ -801,7 +822,16 @@ apr_hash_t * <const char *, apr_array_header_t * <svn_merge_range_t *>> */ #ifdef SWIGPYTHON -%typemap(in) apr_hash_t *MERGEINFO { +%typemap(in) apr_hash_t *MERGEINFO + (apr_pool_t *_global_pool = NULL, PyObject *_global_py_pool = NULL) +{ + if (_global_pool == NULL) + { + if (svn_swig_py_get_parent_pool(args, $descriptor(apr_pool_t *), + &_global_py_pool, &_global_pool)) + SWIG_fail; + } + $1 = svn_swig_py_mergeinfo_from_dict($input, _global_pool); if (PyErr_Occurred()) { SWIG_fail; @@ -954,3 +984,16 @@ %append_output(svn_swig_rb_apr_array_to_array_auth_provider_object(*$1)); } #endif + +/* ----------------------------------------------------------------------- + Output of apr_array_header_t * <svn_diff_hunk_t *> +*/ +#ifdef SWIGPYTHON +%typemap(out) apr_array_header_t *hunks { + %append_output(svn_swig_py_pointerlist_to_list($1, $descriptor(svn_diff_hunk_t *), + _global_py_pool)); + if (PyErr_Occurred()) { + SWIG_fail; + } +} +#endif |