svn_error_t * svn_ra_local__init(const svn_version_t *loader_version, const svn_ra__vtable_t **vtable, apr_pool_t *pool) { static const svn_version_checklist_t checklist[] = { { "svn_subr", svn_subr_version }, { "svn_delta", svn_delta_version }, { "svn_repos", svn_repos_version }, { "svn_fs", svn_fs_version }, { NULL, NULL } }; /* Simplified version check to make sure we can safely use the VTABLE parameter. The RA loader does a more exhaustive check. */ if (loader_version->major != SVN_VER_MAJOR) return svn_error_createf(SVN_ERR_VERSION_MISMATCH, NULL, _("Unsupported RA loader version (%d) for " "ra_local"), loader_version->major); SVN_ERR(svn_ver_check_list(ra_local_version(), checklist)); #ifndef SVN_LIBSVN_CLIENT_LINKS_RA_LOCAL /* This assumes that POOL was the pool used to load the dso. */ SVN_ERR(svn_fs_initialize(pool)); #endif *vtable = &ra_local_vtable; return SVN_NO_ERROR; }
static apr_pool_t * init(const char *application) { apr_allocator_t *allocator; apr_pool_t *pool; svn_error_t *err; const svn_version_checklist_t checklist[] = { {"svn_client", svn_client_version}, {"svn_subr", svn_subr_version}, {"svn_ra", svn_ra_version}, {NULL, NULL} }; SVN_VERSION_DEFINE(my_version); if (svn_cmdline_init(application, stderr) || apr_allocator_create(&allocator)) exit(EXIT_FAILURE); err = svn_ver_check_list(&my_version, checklist); if (err) handle_error(err, NULL); apr_allocator_max_free_set(allocator, SVN_ALLOCATOR_RECOMMENDED_MAX_FREE); pool = svn_pool_create_ex(NULL, allocator); apr_allocator_owner_set(allocator, pool); return pool; }
/* Version compatibility check */ static svn_error_t * check_lib_versions(void) { static const svn_version_checklist_t checklist[] = { { "svn_subr", svn_subr_version }, { "svn_wc", svn_wc_version }, { NULL, NULL } }; SVN_VERSION_DEFINE(my_version); return svn_ver_check_list(&my_version, checklist); }
/* Version compatibility check */ static svn_error_t * check_lib_versions(void) { static const svn_version_checklist_t checklist[] = { /* ### check FSFS version */ { "svn_subr", svn_subr_version }, { "svn_fs", svn_fs_version }, { NULL, NULL } }; SVN_VERSION_DEFINE(my_version); return svn_error_trace(svn_ver_check_list(&my_version, checklist)); }
static svn_error_t* nsvn_base__check_svnlib_ver (void) { static const svn_version_checklist_t checklist[] = { { "svn_subr", svn_subr_version }, { "svn_client", svn_client_version }, { "svn_repos", svn_repos_version }, { "svn_fs", svn_fs_version }, { "svn_wc", svn_wc_version }, { "svn_ra", svn_ra_version }, { NULL, NULL } }; NSVN_SVN_VER_REQUIRED(req_ver); return svn_ver_check_list(&req_ver, checklist); }
svn_error_t * svn_fs_fs__init(const svn_version_t *loader_version, fs_library_vtable_t **vtable, apr_pool_t* common_pool) { static const svn_version_checklist_t checklist[] = { { "svn_subr", svn_subr_version }, { "svn_delta", svn_delta_version }, { NULL, NULL } }; /* Simplified version check to make sure we can safely use the VTABLE parameter. The FS loader does a more exhaustive check. */ if (loader_version->major != SVN_VER_MAJOR) return svn_error_createf(SVN_ERR_VERSION_MISMATCH, NULL, _("Unsupported FS loader version (%d) for fsfs"), loader_version->major); SVN_ERR(svn_ver_check_list(fs_version(), checklist)); *vtable = &library_vtable; return SVN_NO_ERROR; }