"router ","router-signature");
}
-/* return 0 if myversion is in versionlist. Else return -1.
+/* return 1 if myversion is in versionlist. Else return 0.
* (versionlist contains a comma-separated list of versions.) */
-int compare_recommended_versions(const char *myversion,
- const char *versionlist) {
+int is_recommended_version(const char *myversion,
+ const char *versionlist) {
int len_myversion = strlen(myversion);
char *comma;
const char *end = versionlist + strlen(versionlist);
if( ((comma ? comma : end) - versionlist == len_myversion) &&
!strncmp(versionlist, myversion, len_myversion))
/* only do strncmp if the length matches */
- return 0; /* success, it's there */
+ return 1; /* success, it's there */
if(!comma)
- return -1; /* nope */
+ return 0; /* nope */
versionlist = comma+1;
}
}
log_fn(LOG_WARN, "Error resolving routerlist");
return -1;
}
- if (compare_recommended_versions(VERSION, routerlist->software_versions) < 0) {
+ if (is_recommended_version(VERSION,
+ routerlist->software_versions) < 0) {
log(options.IgnoreVersion ? LOG_WARN : LOG_ERR,
"You are running Tor version %s, which will not work with this network.\n"
"Please use %s%s.",
}
/* from routers.c */
-int compare_recommended_versions(char *myversion, char *start);
+int is_recommended_version(char *myversion, char *start);
void
test_dir_format()
tor_free(dir1); /* And more !*/
tor_free(dir2); /* And more !*/
- /* make sure compare_recommended_versions() works */
- test_eq(0, compare_recommended_versions("abc", "abc"));
- test_eq(0, compare_recommended_versions("abc", "ab,abd,abde,abc,abcde"));
- test_eq(0, compare_recommended_versions("abc", "ab,abd,abde,abcde,abc"));
- test_eq(0, compare_recommended_versions("abc", "abc,abd,abde,abc,abcde"));
- test_eq(0, compare_recommended_versions("a", "a,ab,abd,abde,abc,abcde"));
- test_eq(-1, compare_recommended_versions("a", "ab,abd,abde,abc,abcde"));
- test_eq(-1, compare_recommended_versions("abb", "ab,abd,abde,abc,abcde"));
- test_eq(-1, compare_recommended_versions("a", ""));
+ /* make sure is_recommended_version() works */
+ test_eq(1, is_recommended_version("abc", "abc"));
+ test_eq(1, is_recommended_version("abc", "ab,abd,abde,abc,abcde"));
+ test_eq(1, is_recommended_version("abc", "ab,abd,abde,abcde,abc"));
+ test_eq(1, is_recommended_version("abc", "abc,abd,abde,abc,abcde"));
+ test_eq(1, is_recommended_version("a", "a,ab,abd,abde,abc,abcde"));
+ test_eq(0, is_recommended_version("a", "ab,abd,abde,abc,abcde"));
+ test_eq(0, is_recommended_version("abb", "ab,abd,abde,abc,abcde"));
+ test_eq(0, is_recommended_version("a", ""));
}
int