diff options
author | Peter Wemm <peter@FreeBSD.org> | 2013-11-11 01:00:29 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2013-11-11 01:00:29 +0000 |
commit | 6573976d8d3ffbe3d00487ebc8c11e3eb4033f17 (patch) | |
tree | c05673887167c7ecd55a62ed72830f5186f453c1 /subversion/libsvn_subr/version.c | |
parent | 97551b2898eb459e9b616947d87d026d27b61518 (diff) |
Diffstat (limited to 'subversion/libsvn_subr/version.c')
-rw-r--r-- | subversion/libsvn_subr/version.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/subversion/libsvn_subr/version.c b/subversion/libsvn_subr/version.c index ad2a270b76e91..03dc83b8ca058 100644 --- a/subversion/libsvn_subr/version.c +++ b/subversion/libsvn_subr/version.c @@ -75,8 +75,10 @@ svn_boolean_t svn_ver_equal(const svn_version_t *my_version, svn_error_t * -svn_ver_check_list(const svn_version_t *my_version, - const svn_version_checklist_t *checklist) +svn_ver__check_list2(const svn_version_t *my_version, + const svn_version_checklist_t *checklist, + svn_boolean_t (*comparator)(const svn_version_t *, + const svn_version_t *)) { svn_error_t *err = SVN_NO_ERROR; int i; @@ -84,12 +86,17 @@ svn_ver_check_list(const svn_version_t *my_version, for (i = 0; checklist[i].label != NULL; ++i) { const svn_version_t *lib_version = checklist[i].version_query(); - if (!svn_ver_compatible(my_version, lib_version)) + if (!comparator(my_version, lib_version)) err = svn_error_createf(SVN_ERR_VERSION_MISMATCH, err, - _("Version mismatch in '%s':" + _("Version mismatch in '%s'%s:" " found %d.%d.%d%s," " expected %d.%d.%d%s"), checklist[i].label, + comparator == svn_ver_equal + ? _(" (expecting equality)") + : comparator == svn_ver_compatible + ? _(" (expecting compatibility)") + : "", lib_version->major, lib_version->minor, lib_version->patch, lib_version->tag, my_version->major, my_version->minor, |