summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriphydf <iphydf@users.noreply.github.com>2018-08-02 00:25:20 +0000
committeriphydf <iphydf@users.noreply.github.com>2018-08-04 09:04:42 +0000
commit7f8b29c3465bae5b34999ad417508c2d0f6e6946 (patch)
treecf15e14621c0f1ef63d586063ce636a5efc90009
parentaa63c1330c49ee1c4b675037e2e54516950203a2 (diff)
Avoid multiple for-next expressions.
All for-loops in toxcore are of the form for (<for-init>; <for-cond>; <for-next>) { <body> } `for-init` can be a variable declaration (like `int i = 0`), an assignment (like `i = 0`), or empty. `for-cond` can be any expression. `for-next` can be an assignment or a single increment/decrement expression (like `++i` or `--i`). No other forms are allowed, so e.g. comma expressions in any of these are not allowed (so no `for (i = 0, j = n; ...; ++i, --j)`).
-rw-r--r--toxcore/DHT.c8
-rw-r--r--toxcore/Messenger.c7
2 files changed, 7 insertions, 8 deletions
diff --git a/toxcore/DHT.c b/toxcore/DHT.c
index 01fcfd66..543ee191 100644
--- a/toxcore/DHT.c
+++ b/toxcore/DHT.c
@@ -1704,12 +1704,10 @@ static uint8_t do_ping_and_sendnode_requests(DHT *dht, uint64_t *lastgetnode, co
1704 /* If node is not dead. */ 1704 /* If node is not dead. */
1705 Client_data *client = &list[i]; 1705 Client_data *client = &list[i];
1706 1706
1707 IPPTsPng *const assocs[] = { &client->assoc6, &client->assoc4, nullptr }; 1707 IPPTsPng *const assocs[] = { &client->assoc6, &client->assoc4 };
1708
1709 uint32_t j = 0;
1710 1708
1711 for (IPPTsPng * const *it = assocs; *it; ++it, ++j) { 1709 for (uint32_t j = 0; j < sizeof(assocs) / sizeof(assocs[0]); ++j) {
1712 IPPTsPng *const assoc = *it; 1710 IPPTsPng *const assoc = assocs[j];
1713 1711
1714 if (!is_timeout(assoc->timestamp, KILL_NODE_TIMEOUT)) { 1712 if (!is_timeout(assoc->timestamp, KILL_NODE_TIMEOUT)) {
1715 sort = 0; 1713 sort = 0;
diff --git a/toxcore/Messenger.c b/toxcore/Messenger.c
index c45debed..cfa76172 100644
--- a/toxcore/Messenger.c
+++ b/toxcore/Messenger.c
@@ -2631,10 +2631,11 @@ void do_messenger(Messenger *m, void *userdata)
2631 2631
2632 for (client = 0; client < LCLIENT_LIST; ++client) { 2632 for (client = 0; client < LCLIENT_LIST; ++client) {
2633 const Client_data *cptr = dht_get_close_client(m->dht, client); 2633 const Client_data *cptr = dht_get_close_client(m->dht, client);
2634 const IPPTsPng *assoc = nullptr; 2634 const IPPTsPng *const assocs[] = { &cptr->assoc4, &cptr->assoc4, nullptr };
2635 uint32_t a; 2635
2636 for (const IPPTsPng * const *it = assocs; *it; ++it) {
2637 const IPPTsPng *const assoc = *it;
2636 2638
2637 for (a = 0, assoc = &cptr->assoc4; a < 2; ++a, assoc = &cptr->assoc6) {
2638 if (ip_isset(&assoc->ip_port.ip)) { 2639 if (ip_isset(&assoc->ip_port.ip)) {
2639 last_pinged = m->lastdump - assoc->last_pinged; 2640 last_pinged = m->lastdump - assoc->last_pinged;
2640 2641