r9753@danube: weasel | 2006-09-14 07:07:02 +0200

Remove duplicates from MyFamily


svn:r8390
This commit is contained in:
Peter Palfrader 2006-09-14 05:07:34 +00:00
parent 9d9e31dcf4
commit 7fcec09560

View File

@ -804,6 +804,7 @@ router_rebuild_descriptor(int force)
if (authdir_mode(options))
ri->is_valid = ri->is_named = 1; /* believe in yourself */
if (options->MyFamily) {
int i;
smartlist_t *family;
if (!warned_nonexistent_family)
warned_nonexistent_family = smartlist_create();
@ -840,6 +841,18 @@ router_rebuild_descriptor(int force)
}
tor_free(name);
});
smartlist_sort_strings(ri->declared_family);
for (i = 1; i < smartlist_len(ri->declared_family); ++i) {
const char *a, *b;
a = smartlist_get(ri->declared_family, i-1);
b = smartlist_get(ri->declared_family, i);
if (!strcmp(a,b)) {
tor_free(smartlist_get(ri->declared_family, i));
smartlist_del_keeporder(ri->declared_family, i--);
}
}
smartlist_free(family);
}
ri->cache_info.signed_descriptor_body = tor_malloc(8192);