diff options
author | irungentoo <irungentoo@gmail.com> | 2013-09-16 17:09:32 -0700 |
---|---|---|
committer | irungentoo <irungentoo@gmail.com> | 2013-09-16 17:09:32 -0700 |
commit | d0168f473e0d52553e70c03c36e152b01d427e1e (patch) | |
tree | 82de39d9612ecc4e8cbf86dfacb7b064c8b90c94 /toxcore/DHT.c | |
parent | 67da01fb0616fcdf39db8ffb26bd40c9e4bc9d83 (diff) | |
parent | aa71dea96d59032cb0db4209111d434f535d8ac3 (diff) |
Merge pull request #584 from FullName/MessengerLoadSave
Tests of state loading/saving lead to two fixes for DHT.c and util.c
Diffstat (limited to 'toxcore/DHT.c')
-rw-r--r-- | toxcore/DHT.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/toxcore/DHT.c b/toxcore/DHT.c index ddd1e1e0..f38ce3a5 100644 --- a/toxcore/DHT.c +++ b/toxcore/DHT.c | |||
@@ -1576,18 +1576,16 @@ void DHT_save(DHT *dht, uint8_t *data) | |||
1576 | if (dht->close_clientlist[i].timestamp != 0) | 1576 | if (dht->close_clientlist[i].timestamp != 0) |
1577 | num++; | 1577 | num++; |
1578 | 1578 | ||
1579 | if (!num) | ||
1580 | return; | ||
1581 | |||
1582 | len = num * sizeof(Client_data); | 1579 | len = num * sizeof(Client_data); |
1583 | type = DHT_STATE_TYPE_CLIENTS; | 1580 | type = DHT_STATE_TYPE_CLIENTS; |
1584 | data = z_state_save_subheader(data, len, type); | 1581 | data = z_state_save_subheader(data, len, type); |
1585 | Client_data *clients = (Client_data *)data; | 1582 | if (num) { |
1586 | 1583 | Client_data *clients = (Client_data *)data; | |
1587 | for (num = 0, i = 0; i < LCLIENT_LIST; ++i) | ||
1588 | if (dht->close_clientlist[i].timestamp != 0) | ||
1589 | memcpy(&clients[num++], &dht->close_clientlist[i], sizeof(Client_data)); | ||
1590 | 1584 | ||
1585 | for (num = 0, i = 0; i < LCLIENT_LIST; ++i) | ||
1586 | if (dht->close_clientlist[i].timestamp != 0) | ||
1587 | memcpy(&clients[num++], &dht->close_clientlist[i], sizeof(Client_data)); | ||
1588 | } | ||
1591 | data += len; | 1589 | data += len; |
1592 | } | 1590 | } |
1593 | 1591 | ||