* engine.c (gpgme_engine_check_version): Reimplemented to allow
checking the version correctly even after changing the engine
information. Bug reported by Stéphane Corthésy.
* rungpg.c (read_colon_line): Invoke colon preprocess handler if
it is set.
(colon_preprocessor_t): New type.
(struct engine_gpg): New member colon.preprocess_fnc.
(gpg_keylist_preprocess): New function.
* keylist.c (keylist_colon_handler): Allow short key IDs.
* w32-io.c (create_writer): Make C->have_data a manually resetted
event.
(writer): Move code from end of if block to beginning, so it
is also run the first time.
(_gpgme_io_write): Move assert check after error check. Reset
the is_empty event, and also do it eagerly.
(_gpgme_io_select): Unconditionally wait for the is_empty event.
* priv-io.h (_gpgme_io_fd2str): New prototype.
* posix-io.c (_gpgme_io_fd2str): New function.
* w32-io.c (_gpgme_io_fd2str): New function.
* rungpg.c: Use this new function.
* w32-glib-io.c (_gpgme_io_fd2str): Rewrote the file handle code
again. Two's company, three's the musketeers.
* w32-glib-io.c: Rewrote the file handle code. We don't create
system fds for every handle (doesn't work for inherited handles),
but we create pseudo fds in a private namespace that designate a
handle and potentially a giochannel.
* configure.ac: Instead checking for windres and dlltool, invoke
AC_LIBTOOL_WIN32_DLL and AC_LIBTOOL_RC.
* src/Makefile.am [HAVE_W32_SYSTEM]: Use libtool, which simplifies
the rules.
2005-10-02 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Key Management): Add the new member notations of
gpgme_sig_key_t.
(Key Listing Mode): Document GPGME_KEYLIST_MODE_SIG_NOTATIONS.
gpgme/
2005-10-02 Marcus Brinkmann <marcus@g10code.de>
* util.h (_gpgme_decode_percent_string): Add new argument BINARY
to prototype.
* verify.c (parse_notation): Likewise for invocation.
* conversion.c (_gpgme_decode_percent_string): Likewise to
declaration. If set, do not replace '\0' characters with a
printable string.
* gpgme.h (struct _gpgme_key_sig): New field notations.
* ops.h (_gpgme_parse_notation): New prototype.
* sig-notation.c (_gpgme_parse_notation): New function.
* key.c (gpgme_key_unref): Free all signature notations.
* keylist.c (op_data_t): New member tmp_keysig.
(finish_key): Clear OPD->tmp_keysig.
* gpgme.c (gpgme_set_keylist_mode): Remove check.
* rungpg.c (gpg_keylist): Support listing signature notations.
(gpg_keylist_ext): Likewise.
* engine.h (_gpgme_set_engine_info): Add prototype.
* engine-backend.h (struct engine_ops): Change return type of
get_file_name() to const char * to silence gcc warning.
* engine.c (engine_get_file_name): Change return type to const
char * to silence gcc warning.
(gpgme_get_engine_info): Use transitional variable to go from
const char * to char * to silence gcc warning.
(_gpgme_set_engine_info): Likewise.
* engine-gpgsm.c (struct engine_gpgsm): Change type of LINE to
char * to silence gcc warning.
(gpgsm_new): Make ARGV a pointer to const char.
(status_handler): Change type of SRC, END, DST, ALINE and NEWLINE
to char * to silence gcc warning.
* assuan.h (assuan_pipe_connect, assuan_pipe_connect2): Make type
of ARGV parameter const in prototype.
* assuan-pipe-connect.c (assuan_pipe_connect,
assuan_pipe_connect2): Likewise in declaration.
(assuan_pipe_connect2): Add braindead cast to make execv happy.
* assuan-client.c (assuan_transact): Change LINE, S and D from
unsigned char * to char * to silence gcc warning.
* assuan-util.c (_assuan_log_sanitized_string): Add explicit cast
to silence gcc warning.
* assuan-inquire.c (assuan_inquire): Likewise.