diff options
author | Werner Koch <[email protected]> | 2016-01-25 10:34:49 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-01-25 10:35:45 +0000 |
commit | fbe1cf67aadc5a33cf815ddbcfc9669e43caa123 (patch) | |
tree | 070d8ce528a4151dd2737e49d3e83e71efe850e8 | |
parent | agent: Send PROGRESS status lines to the client. (diff) | |
download | gnupg-fbe1cf67aadc5a33cf815ddbcfc9669e43caa123.tar.gz gnupg-fbe1cf67aadc5a33cf815ddbcfc9669e43caa123.zip |
gpg: Print PROGRESS status lines during key generation.
* g10/call-agent.c (cache_nonce_status_cb): Rewrite by using
has_leading_keyword. Handle PROGRESS lines.
--
GnuPG-bug-id: 1415
Co-authored-by: Daiki Ueno <[email protected]>
Signed-off-by: Werner Koch <[email protected]>
-rw-r--r-- | g10/call-agent.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/g10/call-agent.c b/g10/call-agent.c index 83fabcc32..1d7ff577b 100644 --- a/g10/call-agent.c +++ b/g10/call-agent.c @@ -1749,30 +1749,29 @@ static gpg_error_t cache_nonce_status_cb (void *opaque, const char *line) { struct cache_nonce_parm_s *parm = opaque; - const char *keyword = line; - int keywordlen; - - for (keywordlen=0; *line && !spacep (line); line++, keywordlen++) - ; - while (spacep (line)) - line++; + const char *s; - if (keywordlen == 11 && !memcmp (keyword, "CACHE_NONCE", keywordlen)) + if ((s = has_leading_keyword (line, "CACHE_NONCE"))) { if (parm->cache_nonce_addr) { xfree (*parm->cache_nonce_addr); - *parm->cache_nonce_addr = xtrystrdup (line); + *parm->cache_nonce_addr = xtrystrdup (s); } } - else if (keywordlen == 12 && !memcmp (keyword, "PASSWD_NONCE", keywordlen)) + else if ((s = has_leading_keyword (line, "PASSWD_NONCE"))) { if (parm->passwd_nonce_addr) { xfree (*parm->passwd_nonce_addr); - *parm->passwd_nonce_addr = xtrystrdup (line); + *parm->passwd_nonce_addr = xtrystrdup (s); } } + else if ((s = has_leading_keyword (line, "PROGRESS"))) + { + if (opt.enable_progress_filter) + write_status_text (STATUS_PROGRESS, s); + } return 0; } |