[Pkg-gnupg-commit] [gnupg2] 29/241: gpg: When showing conflicts, also show bindings with no recorded sigs.
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Wed Dec 9 20:31:49 UTC 2015
This is an automated email from the git hooks/post-receive script.
dkg pushed a commit to branch master
in repository gnupg2.
commit d3eca517745a862432fcfeaa729e5333b15ffa6a
Author: Neal H. Walfield <neal at g10code.com>
Date: Tue Oct 20 14:50:21 2015 +0200
gpg: When showing conflicts, also show bindings with no recorded sigs.
* g10/tofu.c (signature_stats_collect_cb): If the time_ago column is
NULL, then both time_ago and count should be 0.
(get_trust): Reverse the direction of the join so that we also get
statistics about bindings without any signatures.
--
Signed-off-by: Neal H. Walfield <neal at g10code.com>
---
g10/tofu.c | 54 ++++++++++++++++++++++++++++++++++--------------------
1 file changed, 34 insertions(+), 20 deletions(-)
diff --git a/g10/tofu.c b/g10/tofu.c
index d34a204..5886c5e 100644
--- a/g10/tofu.c
+++ b/g10/tofu.c
@@ -1061,27 +1061,39 @@ signature_stats_collect_cb (void *cookie, int argc, char **argv,
}
i ++;
- tail = NULL;
- errno = 0;
- time_ago = strtol (argv[i], &tail, 0);
- if (errno || ! (strcmp (tail, ".0") == 0 || *tail == '\0'))
+ if (! argv[i])
+ time_ago = 0;
+ else
{
- /* Abort. */
- log_error ("%s: Error converting %s to an integer (tail = '%s')\n",
- __func__, argv[i], tail);
- return 1;
+ tail = NULL;
+ errno = 0;
+ time_ago = strtol (argv[i], &tail, 0);
+ if (errno || ! (strcmp (tail, ".0") == 0 || *tail == '\0'))
+ {
+ /* Abort. */
+ log_error ("%s: Error converting %s to an integer (tail = '%s')\n",
+ __func__, argv[i], tail);
+ return 1;
+ }
}
i ++;
- tail = NULL;
- errno = 0;
- count = strtoul (argv[i], &tail, 0);
- if (errno || ! (strcmp (tail, ".0") == 0 || *tail == '\0'))
+ /* If time_ago is NULL, then we had no messages, but we still have a
+ single row, which count(*) turns into 1. */
+ if (! argv[i - 1])
+ count = 0;
+ else
{
- /* Abort. */
- log_error ("%s: Error converting %s to an integer (tail = '%s')\n",
- __func__, argv[i], tail);
- return 1;
+ tail = NULL;
+ errno = 0;
+ count = strtoul (argv[i], &tail, 0);
+ if (errno || ! (strcmp (tail, ".0") == 0 || *tail == '\0'))
+ {
+ /* Abort. */
+ log_error ("%s: Error converting %s to an integer (tail = '%s')\n",
+ __func__, argv[i], tail);
+ return 1;
+ }
}
i ++;
@@ -1551,10 +1563,12 @@ get_trust (struct db *dbs, const char *fingerprint, const char *email,
" else round(delta / %d) * %d\n"
" end time_ago,\n"
" delta time_ago_raw\n"
- " from (select *,\n"
- " cast(strftime('%%s','now') - sig_time as real) delta\n"
- " from signatures) ss\n"
- " left join bindings on ss.binding = bindings.oid)\n"
+ " from bindings\n"
+ " left join\n"
+ " (select *,\n"
+ " cast(strftime('%%s','now') - sig_time as real) delta\n"
+ " from signatures) ss\n"
+ " on ss.binding = bindings.oid)\n"
" where email = %Q\n"
" group by fingerprint, time_ago\n"
/* Make sure the current key is first. */
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gnupg2.git
More information about the Pkg-gnupg-commit
mailing list