// Append any known addresses in the config file to the list we currently have
uint32_t known_count = 0;
- for(uint32_t i = 0; i < 5; i++) {
+ for(uint32_t i = 0; i < MAX_RECENT; i++) {
if(n->recent[i].sa.sa_family) {
known_count++;
}
uint32_t count = packmsg_get_array(&in);
- if(count > 5 - known_count) {
- count = 5 - known_count;
+ for(uint32_t i = 0; i < count; i++) {
+ if(i < MAX_RECENT - known_count) {
+ n->recent[i + known_count] = packmsg_get_sockaddr(&in);
+ } else {
+ packmsg_skip_element(&in);
+ }
}
- for(uint32_t i = 0; i < count; i++) {
- n->recent[i + known_count] = packmsg_get_sockaddr(&in);
}
config_free(&config);
n->canonical_address = packmsg_get_str_dup(&in);
uint32_t count = packmsg_get_array(&in);
- if(count > 5) {
- count = 5;
- }
-
for(uint32_t i = 0; i < count; i++) {
- n->recent[i] = packmsg_get_sockaddr(&in);
+ if(i < MAX_RECENT) {
+ n->recent[i] = packmsg_get_sockaddr(&in);
+ } else {
+ packmsg_skip_element(&in);
+ }
}
return packmsg_done(&in);
uint32_t count = 0;
- for(uint32_t i = 0; i < 5; i++) {
+ for(uint32_t i = 0; i < MAX_RECENT; i++) {
if(n->recent[i].sa.sa_family) {
count++;
} else {