On 10/24/13 11:44 AM, Maximo, Andre (GE Global Research) wrote: > void CVCS::svnURLPath(CString& urlPath, const CString &fullPath) > > { > > apr_pool_t *local_pool = svn_pool_create(m_svn_pool); > > const char *url = NULL; > > svn_error_t *err = svn_client_url_from_path2(&url, fullPath, m_svn_ctx, > m_svn_pool, local_pool); > > if (url != NULL) > > urlPath = CString(url); > > svn_pool_destroy(local_pool); > > }
Looking at this code more closely I see that you're passing svn_client_url_from_path2() a pointer to a CString class. I'm guessing you're using MFC based on that class name. So I suspect what you really needed on the svn_client_url_from_path2() call is: svn_error_t *err = svn_client_url_from_path2(&url, fullPath->GetBuffer(), m_svn_ctx, m_svn_pool, local_pool); Bert's and my earlier points about the lack of checking for errors still stands. In this case our particular implementation is good enough that it wouldn't break your code since url will still be NULL. But we don't promise that. I think the fact that it's succeeding for you when passing a valid path is a fluke and failing when passing a non-existent path is just a fluke.