diff options
author | Marcus Brinkmann <[email protected]> | 2009-10-30 14:21:08 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2009-10-30 14:21:08 +0000 |
commit | 9d3fdd8c96b79ecbd56cf6b1a424bb2e2cd5236d (patch) | |
tree | c5e21b62188f0464553aec85047f468623dec3c7 /src/assuan-support.c | |
parent | Some additions. (diff) | |
download | gpgme-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.c | 27 |
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); |