diff -ur subversion-1.3.1/subversion/bindings/swig/ruby/svn_delta.c subversion-1.3.1-emp/subversion/bindings/swig/ruby/svn_delta.c --- subversion-1.3.1/subversion/bindings/swig/ruby/svn_delta.c 2006-03-24 18:00:42.000000000 -0800 +++ subversion-1.3.1-emp/subversion/bindings/swig/ruby/svn_delta.c 2006-04-10 00:27:13.000000000 -0700 @@ -3636,7 +3636,13 @@ rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_svn_delta_editor_t, 1); SWIG_ConvertPtr(argv[1], (void **) &arg2, 0, 1); - arg3 = StringValuePtr(argv[2]); + { + if (NIL_P(argv[2])) { + arg3 = NULL; + } else { + arg3 = StringValuePtr(argv[2]); + } + } if (argc > 3) { } diff -ur subversion-1.3.1/subversion/bindings/swig/ruby/svn_ra.c subversion-1.3.1-emp/subversion/bindings/swig/ruby/svn_ra.c --- subversion-1.3.1/subversion/bindings/swig/ruby/svn_ra.c 2006-03-24 18:00:43.000000000 -0800 +++ subversion-1.3.1-emp/subversion/bindings/swig/ruby/svn_ra.c 2006-04-10 00:27:13.000000000 -0700 @@ -2824,15 +2824,25 @@ temp3 = NULL; arg3 = (void **)&temp3; } - if ((argc < 6) || (argc > 7)) - rb_raise(rb_eArgError, "wrong # of arguments(%d for 6)",argc); + if ((argc < 5) || (argc > 6)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 5)",argc); SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_svn_ra_session_t, 1); arg4 = NUM2LONG(argv[1]); arg5 = StringValuePtr(argv[2]); arg6 = RTEST(argv[3]); - SWIG_ConvertPtr(argv[4], (void **) &arg7, SWIGTYPE_p_svn_delta_editor_t, 1); - SWIG_ConvertPtr(argv[5], (void **) &arg8, 0, 1); - if (argc > 6) { + { + if (RTEST(rb_obj_is_kind_of(argv[4], + svn_swig_rb_svn_delta_editor()))) { + arg7 = svn_swig_rb_to_swig_type(argv[4], + "svn_delta_editor_t *", + _global_pool); + arg8 = svn_swig_rb_to_swig_type(rb_funcall(argv[4], rb_intern("baton"), 0), + "void *", _global_pool); + } else { + svn_swig_rb_make_delta_editor(&arg7, &arg8, argv[4], _global_pool); + } + } + if (argc > 5) { } { @@ -3038,17 +3048,27 @@ temp3 = NULL; arg3 = (void **)&temp3; } - if ((argc < 8) || (argc > 9)) - rb_raise(rb_eArgError, "wrong # of arguments(%d for 8)",argc); + if ((argc < 7) || (argc > 8)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 7)",argc); SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_svn_ra_session_t, 1); arg4 = NUM2LONG(argv[1]); arg5 = StringValuePtr(argv[2]); arg6 = RTEST(argv[3]); arg7 = RTEST(argv[4]); arg8 = StringValuePtr(argv[5]); - SWIG_ConvertPtr(argv[6], (void **) &arg9, SWIGTYPE_p_svn_delta_editor_t, 1); - SWIG_ConvertPtr(argv[7], (void **) &arg10, 0, 1); - if (argc > 8) { + { + if (RTEST(rb_obj_is_kind_of(argv[6], + svn_swig_rb_svn_delta_editor()))) { + arg9 = svn_swig_rb_to_swig_type(argv[6], + "svn_delta_editor_t *", + _global_pool); + arg10 = svn_swig_rb_to_swig_type(rb_funcall(argv[6], rb_intern("baton"), 0), + "void *", _global_pool); + } else { + svn_swig_rb_make_delta_editor(&arg9, &arg10, argv[6], _global_pool); + } + } + if (argc > 7) { } { @@ -5792,17 +5812,27 @@ temp4 = NULL; arg4 = (void **)&temp4; } - if ((argc < 8) || (argc > 9)) - rb_raise(rb_eArgError, "wrong # of arguments(%d for 8)",argc); + if ((argc < 7) || (argc > 8)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 7)",argc); SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_svn_ra_plugin_t, 1); SWIG_ConvertPtr(argv[1], (void **) &arg2, 0, 1); SWIG_ConvertPtr(argv[2], (void **) &arg3, SWIGTYPE_p_p_svn_ra_reporter_t, 1); arg5 = NUM2LONG(argv[3]); arg6 = StringValuePtr(argv[4]); arg7 = RTEST(argv[5]); - SWIG_ConvertPtr(argv[6], (void **) &arg8, SWIGTYPE_p_svn_delta_editor_t, 1); - SWIG_ConvertPtr(argv[7], (void **) &arg9, 0, 1); - if (argc > 8) { + { + if (RTEST(rb_obj_is_kind_of(argv[6], + svn_swig_rb_svn_delta_editor()))) { + arg8 = svn_swig_rb_to_swig_type(argv[6], + "svn_delta_editor_t *", + _global_pool); + arg9 = svn_swig_rb_to_swig_type(rb_funcall(argv[6], rb_intern("baton"), 0), + "void *", _global_pool); + } else { + svn_swig_rb_make_delta_editor(&arg8, &arg9, argv[6], _global_pool); + } + } + if (argc > 7) { } { @@ -5991,8 +6021,8 @@ temp4 = NULL; arg4 = (void **)&temp4; } - if ((argc < 10) || (argc > 11)) - rb_raise(rb_eArgError, "wrong # of arguments(%d for 10)",argc); + if ((argc < 9) || (argc > 10)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 9)",argc); SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_svn_ra_plugin_t, 1); SWIG_ConvertPtr(argv[1], (void **) &arg2, 0, 1); SWIG_ConvertPtr(argv[2], (void **) &arg3, SWIGTYPE_p_p_svn_ra_reporter_t, 1); @@ -6001,9 +6031,19 @@ arg7 = RTEST(argv[5]); arg8 = RTEST(argv[6]); arg9 = StringValuePtr(argv[7]); - SWIG_ConvertPtr(argv[8], (void **) &arg10, SWIGTYPE_p_svn_delta_editor_t, 1); - SWIG_ConvertPtr(argv[9], (void **) &arg11, 0, 1); - if (argc > 10) { + { + if (RTEST(rb_obj_is_kind_of(argv[8], + svn_swig_rb_svn_delta_editor()))) { + arg10 = svn_swig_rb_to_swig_type(argv[8], + "svn_delta_editor_t *", + _global_pool); + arg11 = svn_swig_rb_to_swig_type(rb_funcall(argv[8], rb_intern("baton"), 0), + "void *", _global_pool); + } else { + svn_swig_rb_make_delta_editor(&arg10, &arg11, argv[8], _global_pool); + } + } + if (argc > 9) { } { diff -ur subversion-1.3.1/subversion/bindings/swig/svn_delta.i subversion-1.3.1-emp/subversion/bindings/swig/svn_delta.i --- subversion-1.3.1/subversion/bindings/swig/svn_delta.i 2005-09-28 16:56:52.000000000 -0700 +++ subversion-1.3.1-emp/subversion/bindings/swig/svn_delta.i 2006-04-10 00:27:13.000000000 -0700 @@ -47,7 +47,8 @@ const char *error_info, const char *copyfrom_path, const char *copy_path, - const char *base_checksum + const char *base_checksum, + const char *text_checksum }; #ifdef SWIGPYTHON diff -ur subversion-1.3.1/subversion/bindings/swig/svn_ra.i subversion-1.3.1-emp/subversion/bindings/swig/svn_ra.i --- subversion-1.3.1/subversion/bindings/swig/svn_ra.i 2005-10-04 08:43:40.000000000 -0700 +++ subversion-1.3.1-emp/subversion/bindings/swig/svn_ra.i 2006-04-10 00:27:13.000000000 -0700 @@ -101,6 +101,50 @@ svn_delta_make_editor(&$1, &$2, $input, _global_pool); } +%typemap(ruby, in) (const svn_delta_editor_t *editor, void *edit_baton) +{ + if (RTEST(rb_obj_is_kind_of($input, + svn_swig_rb_svn_delta_editor()))) { + $1 = svn_swig_rb_to_swig_type($input, + "svn_delta_editor_t *", + _global_pool); + $2 = svn_swig_rb_to_swig_type(rb_funcall($input, rb_intern("baton"), 0), + "void *", _global_pool); + } else { + svn_swig_rb_make_delta_editor(&$1, &$2, $input, _global_pool); + } +} + +%typemap(ruby, in) (const svn_delta_editor_t *update_editor, + void *update_baton) +{ + if (RTEST(rb_obj_is_kind_of($input, + svn_swig_rb_svn_delta_editor()))) { + $1 = svn_swig_rb_to_swig_type($input, + "svn_delta_editor_t *", + _global_pool); + $2 = svn_swig_rb_to_swig_type(rb_funcall($input, rb_intern("baton"), 0), + "void *", _global_pool); + } else { + svn_swig_rb_make_delta_editor(&$1, &$2, $input, _global_pool); + } +} + +%typemap(ruby, in) (const svn_delta_editor_t *diff_editor, void *diff_baton) +{ + if (RTEST(rb_obj_is_kind_of($input, + svn_swig_rb_svn_delta_editor()))) { + $1 = svn_swig_rb_to_swig_type($input, + "svn_delta_editor_t *", + _global_pool); + $2 = svn_swig_rb_to_swig_type(rb_funcall($input, rb_intern("baton"), 0), + "void *", _global_pool); + } else { + svn_swig_rb_make_delta_editor(&$1, &$2, $input, _global_pool); + } +} + + %typemap(perl5, in) (const svn_ra_callbacks_t *callbacks, void *callback_baton) { svn_ra_make_callbacks(&$1, &$2, $input, _global_pool);