[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: swig-rb trunk r15233: FAIL (x86_64-unknown-linux-gnu shared)

From: Jani Averbach <jaa_at_jaa.iki.fi>
Date: 2005-07-03 07:12:07 CEST

On 2005-07-03 12:57+0900, Kouhei Sutou wrote:

Hi Kou,

> It seems that Ruby's Hash converted from apr_hash_t is
> broken.
>
> Could you show me the definition of
> _wrap_svn_fs_node_proplist in
> subversion/bindings/swig/ruby/svn_fs.c?

Sure!

Here it is, please let me know if you need anything else.

BR, Jani

static VALUE
_wrap_svn_fs_node_proplist(int argc, VALUE *argv, VALUE self) {
    apr_hash_t **arg1 = (apr_hash_t **) 0 ;
    svn_fs_root_t *arg2 = (svn_fs_root_t *) 0 ;
    char *arg3 = (char *) 0 ;
    apr_pool_t *arg4 = (apr_pool_t *) 0 ;
    svn_error_t *result;
    VALUE _global_rb_pool ;
    apr_pool_t *_global_pool ;
    apr_hash_t *temp1 ;
    VALUE vresult = Qnil;

    {
        svn_swig_rb_get_pool(argc, argv, self, &_global_rb_pool, &arg4);
        _global_pool = arg4;
    }
    arg1 = &temp1;
    if ((argc < 2) || (argc > 3))
    rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc);
    SWIG_ConvertPtr(argv[0], (void **) &arg2, SWIGTYPE_p_svn_fs_root_t, 1);
    arg3 = StringValuePtr(argv[1]);
    if (argc > 2) {

    }
    {
        result = (svn_error_t *)svn_fs_node_proplist(arg1,arg2,(char const *)arg3,arg4);

    }
    {
        if (result) {
            svn_error_t *error = result;
            VALUE error_code = INT2NUM(error->apr_err);
            VALUE message;

            message = rb_str_new2(error->message ? error->message : "");

            while (error->child) {
                error = error->child;
                if (error->message) {
                    rb_str_concat(message, rb_str_new2("\n"));
                    rb_str_concat(message, rb_str_new2(error->message));
                }
            }
            svn_error_clear(error);

            rb_exc_raise(svn_swig_rb_svn_error_new(error_code, message));
        }
        vresult = Qnil;
    }
    {
        vresult = svn_swig_rb_apr_hash_to_hash_svn_string(*arg1);
    }
    {
        svn_swig_rb_set_pool(vresult, _global_rb_pool);
    }
    return vresult;
}

-- 
Jani Averbach 
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Jul 3 07:13:07 2005

This is an archived mail posted to the Subversion Dev mailing list.