aboutsummaryrefslogtreecommitdiffstats
path: root/src/assuan-support.c
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2009-10-30 14:21:08 +0000
committerMarcus Brinkmann <[email protected]>2009-10-30 14:21:08 +0000
commit9d3fdd8c96b79ecbd56cf6b1a424bb2e2cd5236d (patch)
treec5e21b62188f0464553aec85047f468623dec3c7 /src/assuan-support.c
parentSome additions. (diff)
downloadgpgme-9d3fdd8c96b79ecbd56cf6b1a424bb2e2cd5236d.tar.gz
gpgme-9d3fdd8c96b79ecbd56cf6b1a424bb2e2cd5236d.zip
2009-10-30 Marcus Brinkmann <[email protected]>
* configure.ac: Check for argp.h and error_t. src/ 2009-10-30 Marcus Brinkmann <[email protected]> * Makefile.am (noinst_PROGRAMS): New target gpgme-tool. (gpgme_tool_LDADD): New variable. * gpgme-tool.c: New file. * ops.h (_gpgme_sig_notation_clearm _gpgme_signers_clear): New prototypes. * gpgme.c (gpgme_set_protocol): Allow GPGME_PROTOCOL_GPGCONF (when had that gone missing?). (_gpgme_sig_notation_clear): New function without debug output. (gpgme_release): Call it and _gpgme_signers_clear. * signers.c (_gpgme_signers_clear): New function without debug output. * g13.c (gpgme_op_vfs_mount): Add debug output. * assuan-support.c (my_spawn): Allow fd_child_list to be NULL. * conversion.c (_gpgme_encode_percent_string): Fix infinite loop. * debug.h: Put tag in front of debug lines, should make for nicer output. * engine-assuan.c (llass_new): Use our new system hooks for libassuan. * engine-g13.c (g13_new): Remove redundant assuan context allocation. * version.c (gpgme_check_version_internal): Delay debug output until after gpgme_check_version was called.
Diffstat (limited to 'src/assuan-support.c')
-rw-r--r--src/assuan-support.c27
1 files changed, 18 insertions, 9 deletions
diff --git a/src/assuan-support.c b/src/assuan-support.c
index cd9cbc41..b5d2548a 100644
--- a/src/assuan-support.c
+++ b/src/assuan-support.c
@@ -117,19 +117,25 @@ my_spawn (assuan_context_t ctx, pid_t *r_pid, const char *name,
return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
i = 0;
- while (fd_child_list[i] != ASSUAN_INVALID_FD)
- i++;
+ if (fd_child_list)
+ {
+ while (fd_child_list[i] != ASSUAN_INVALID_FD)
+ i++;
+ }
/* fd_in, fd_out, terminator */
i += 3;
fd_items = malloc (sizeof (struct spawn_fd_item_s) * i);
if (! fd_items)
return gpg_error_from_syserror ();
i = 0;
- while (fd_child_list[i] != ASSUAN_INVALID_FD)
+ if (fd_child_list)
{
- fd_items[i].fd = fd_child_list[i];
- fd_items[i].dup_to = -1;
- i++;
+ while (fd_child_list[i] != ASSUAN_INVALID_FD)
+ {
+ fd_items[i].fd = fd_child_list[i];
+ fd_items[i].dup_to = -1;
+ i++;
+ }
}
if (fd_in != ASSUAN_INVALID_FD)
{
@@ -151,10 +157,13 @@ my_spawn (assuan_context_t ctx, pid_t *r_pid, const char *name,
{
i = 0;
- while (fd_child_list[i] != ASSUAN_INVALID_FD)
+ if (fd_child_list)
{
- fd_child_list[i] = fd_items[i].peer_name;
- i++;
+ while (fd_child_list[i] != ASSUAN_INVALID_FD)
+ {
+ fd_child_list[i] = fd_items[i].peer_name;
+ i++;
+ }
}
}
free (fd_items);