diff options
author | Özgür Kesim <oec-taler@kesim.org> | 2023-05-14 19:51:28 +0200 |
---|---|---|
committer | Özgür Kesim <oec-taler@kesim.org> | 2023-05-22 08:48:48 +0200 |
commit | 5ebd19e60b820bb96b4451c366c2f152ab30ff67 (patch) | |
tree | dd9807f43f5378ede76169414297a93d292faae5 | |
parent | 811c040a28b4bbc9d1bdba3fd8458c2b1033983d (diff) |
-pq: slight optimization
-rw-r--r-- | src/pq/pq_query_helper.c | 47 |
1 files changed, 21 insertions, 26 deletions
diff --git a/src/pq/pq_query_helper.c b/src/pq/pq_query_helper.c index 1a31333d9..0d9371bd5 100644 --- a/src/pq/pq_query_helper.c +++ b/src/pq/pq_query_helper.c @@ -860,14 +860,12 @@ qconv_array ( { case array_of_abs_time: { - const struct GNUNET_TIME_Absolute *abs; - - if (meta->continuous) - { - abs = (const struct GNUNET_TIME_Absolute *) in; - in += sz; - } - else + const struct GNUNET_TIME_Absolute *abs = + (const struct GNUNET_TIME_Absolute *) in; + + GNUNET_assert (sizeof(struct GNUNET_TIME_Absolute) == sz); + + if (! meta->continuous) abs = ((const struct GNUNET_TIME_Absolute **) data)[i]; val = abs->abs_value_us; @@ -875,34 +873,28 @@ qconv_array ( } case array_of_rel_time: { - const struct GNUNET_TIME_Relative *rel; - - if (meta->continuous) - { - rel = (const struct GNUNET_TIME_Relative *) in; - in += sz; - } - else + const struct GNUNET_TIME_Relative *rel = + (const struct GNUNET_TIME_Relative *) in; + + GNUNET_assert (sizeof(struct GNUNET_TIME_Relative) == sz); + + if (! meta->continuous) rel = ((const struct GNUNET_TIME_Relative **) data)[i]; val = rel->rel_value_us; - break; } case array_of_timestamp: { - const struct GNUNET_TIME_Timestamp *ts; - - if (meta->continuous) - { - ts = (const struct GNUNET_TIME_Timestamp *) in; - in += sz; - } - else + const struct GNUNET_TIME_Timestamp *ts = + (const struct GNUNET_TIME_Timestamp *) in; + + GNUNET_assert (sizeof(struct GNUNET_TIME_Timestamp) == sz); + + if (! meta->continuous) ts = ((const struct GNUNET_TIME_Timestamp **) data)[i]; val = ts->abs_time.abs_value_us; - break; } default: @@ -916,6 +908,9 @@ qconv_array ( *(uint64_t *) out = GNUNET_htonll (val); + if (meta->continuous) + in += sz; + break; } default: |