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

Re: [PATCH] fix a crash in libsvn_wc

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: Wed, 29 Aug 2012 10:08:41 -0400

On 08/29/2012 09:47 AM, George Gugulea wrote:
> (sorry, for me subversion is code at-first-sight)
>
> in the plugin it seems that this code happens:
> //======================================================
> svn_client_ctx_t ctx;
> memset(&ctx, 0, sizeof(ctx));
>
> // get the config based on the configDir passed in
> svn_config_get_config(&ctx.config, c_configDir, pool);
>
> // tell the auth functions where the config is
> svn_auth_set_parameter(ab, SVN_AUTH_PARAM_CONFIG_DIR,
> c_configDir);
>
> ctx.auth_baton = ab;
> ctx.log_msg_func = onLogMsg;
> ctx.log_msg_baton = this;
> ctx.notify_func = onNotify;
> ctx.notify_baton = this;
> ctx.cancel_func = onCancel;
> ctx.cancel_baton = this;
>
> #if (SVN_VER_MAJOR >= 1) && (SVN_VER_MINOR >= 2)
> ctx.notify_func2 = onNotify2;
> ctx.notify_baton2 = this;
> #endif
> //======================================================
>
>
> so missing from here, as I understand is svn_client_create_context

Exactly. You'll want to begin with:

   svn_client_ctx_t *ctx;
   svn_error_t *err;

   err = svn_client_create_context(&ctx, pool)

...and then of course you'll want to handle a non-NULL 'err' in the way that
makes sense for your program (I can't tell from the context provided).
Obviously, *don't* memset the 'ctx' structure you just created/initialized.
 Then carry on populating bits of your 'ctx' structure pretty much as you
are already.

-- 
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet   <>   www.collab.net   <>   Enterprise Cloud Development

Received on 2012-08-29 16:09:18 CEST

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