mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
Merge branch 'STABLE-BRANCH-2-2'
This commit is contained in:
commit
20539ea5ca
30 changed files with 654 additions and 336 deletions
|
@ -293,50 +293,19 @@ parse_keygrip (assuan_context_t ctx, const char *string, unsigned char *buf)
|
|||
|
||||
|
||||
/* Write an Assuan status line. KEYWORD is the first item on the
|
||||
status line. The following arguments are all separated by a space
|
||||
in the output. The last argument must be a NULL. Linefeeds and
|
||||
carriage returns characters (which are not allowed in an Assuan
|
||||
status line) are silently quoted in C-style. */
|
||||
* status line. The following arguments are all separated by a space
|
||||
* in the output. The last argument must be a NULL. Linefeeds and
|
||||
* carriage returns characters (which are not allowed in an Assuan
|
||||
* status line) are silently quoted in C-style. */
|
||||
gpg_error_t
|
||||
agent_write_status (ctrl_t ctrl, const char *keyword, ...)
|
||||
{
|
||||
gpg_error_t err = 0;
|
||||
gpg_error_t err;
|
||||
va_list arg_ptr;
|
||||
const char *text;
|
||||
assuan_context_t ctx = ctrl->server_local->assuan_ctx;
|
||||
char buf[950], *p;
|
||||
size_t n;
|
||||
|
||||
va_start (arg_ptr, keyword);
|
||||
|
||||
p = buf;
|
||||
n = 0;
|
||||
while ( (text = va_arg (arg_ptr, const char *)) )
|
||||
{
|
||||
if (n)
|
||||
{
|
||||
*p++ = ' ';
|
||||
n++;
|
||||
}
|
||||
for ( ; *text && n < DIM (buf)-3; n++, text++)
|
||||
{
|
||||
if (*text == '\n')
|
||||
{
|
||||
*p++ = '\\';
|
||||
*p++ = 'n';
|
||||
}
|
||||
else if (*text == '\r')
|
||||
{
|
||||
*p++ = '\\';
|
||||
*p++ = 'r';
|
||||
}
|
||||
else
|
||||
*p++ = *text;
|
||||
}
|
||||
}
|
||||
*p = 0;
|
||||
err = assuan_write_status (ctx, keyword, buf);
|
||||
|
||||
err = vprint_assuan_status_strings (ctx, keyword, arg_ptr);
|
||||
va_end (arg_ptr);
|
||||
return err;
|
||||
}
|
||||
|
@ -1062,7 +1031,8 @@ cmd_readkey (assuan_context_t ctx, char *line)
|
|||
rc = gpg_error_from_syserror ();
|
||||
else
|
||||
{
|
||||
gcry_sexp_sprint (s_pkey, GCRYSEXP_FMT_CANON, pkbuf, pkbuflen);
|
||||
pkbuflen = gcry_sexp_sprint (s_pkey, GCRYSEXP_FMT_CANON,
|
||||
pkbuf, pkbuflen);
|
||||
rc = assuan_send_data (ctx, pkbuf, pkbuflen);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue