From: Christian Grothoff Date: Fri, 18 Oct 2013 13:36:24 +0000 (+0000) Subject: -conversion to absolute time is now done in GNUNET_GNSRECORD_block_create X-Git-Tag: initial-import-from-subversion-38251~6427 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=4217ac4cb6ad2dd900326d51163a4770d59596d4;p=oweals%2Fgnunet.git -conversion to absolute time is now done in GNUNET_GNSRECORD_block_create --- diff --git a/src/gns/gnunet-service-gns.c b/src/gns/gnunet-service-gns.c index fcbecb4e6..cc2bf3fdf 100644 --- a/src/gns/gnunet-service-gns.c +++ b/src/gns/gnunet-service-gns.c @@ -415,11 +415,16 @@ put_gns_record (void *cls, rd_public[rd_public_count] = rd[i]; if (0 != (rd[i].flags & GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION)) { + /* GNUNET_GNSRECORD_block_create will convert to absolute time; + we just need to adjust our iteration frequency */ min_relative_record_time.rel_value_us = GNUNET_MIN (rd_public[rd_public_count].expiration_time, min_relative_record_time.rel_value_us); - rd_public[rd_public_count].flags &= ~GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION; - rd_public[rd_public_count].expiration_time += now.abs_value_us; + } + else if (rd_public[rd_public_count].expiration_time < now.abs_value_us) + { + /* record already expired, skip it */ + continue; } rd_public_count++; }