#if HAVE_CONFIG_H
#include <config.h>
#endif
+#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <ctype.h>
#include "debug.h"
#include "context.h"
-/* For _gpgme_sema_subsystem_init (). */
+/* For _gpgme_sema_subsystem_init and _gpgme_status_init. */
#include "sema.h"
+#include "util.h"
#ifdef HAVE_ASSUAN_H
#include "assuan.h"
return;
#ifdef HAVE_W32_SYSTEM
- {
- WSADATA wsadat;
-
- WSAStartup (0x202, &wsadat);
- }
-#endif
-
- _gpgme_sema_subsystem_init ();
-#ifdef HAVE_ASSUAN_H
- assuan_set_assuan_err_source (GPG_ERR_SOURCE_GPGME);
-#endif /*HAVE_ASSUAN_H*/
- _gpgme_debug_subsystem_init ();
- _gpgme_io_subsystem_init ();
-#if defined(HAVE_W32_SYSTEM) && defined(HAVE_ASSUAN_H)
/* We need to make sure that the sockets are initialized. */
{
WSADATA wsadat;
WSAStartup (0x202, &wsadat);
}
-#endif /*HAVE_W32_SYSTEM && HAVE_ASSUAN_H*/
+#endif
+
+ _gpgme_sema_subsystem_init ();
+ _gpgme_debug_subsystem_init ();
+ _gpgme_io_subsystem_init ();
+ _gpgme_status_init ();
done = 1;
}
do_subsystem_inits ();
/* Catch-22: We need to get at least the debug subsystem ready
- before using the tarce facility. If we won't the tarce would
+ before using the trace facility. If we won't the trace would
automagically initialize the debug system with out the locks
being initialized and missing the assuan log level setting. */
- TRACE2 (DEBUG_INIT, "gpgme_check_version: ", 0,
+ TRACE2 (DEBUG_INIT, "gpgme_check_version", 0,
"req_version=%s, VERSION=%s",
req_version? req_version:"(null)", VERSION);
{
const char *result;
- TRACE2 (DEBUG_INIT, "gpgme_check_version_internal: ", 0,
- "req_version=%s, offset_sig_validity=%i",
- req_version ? req_version : "(null)", offset_sig_validity);
-
result = gpgme_check_version (req_version);
if (result == NULL)
return result;
+ /* Catch-22, see above. */
+ TRACE2 (DEBUG_INIT, "gpgme_check_version_internal", 0,
+ "req_version=%s, offset_sig_validity=%i",
+ req_version ? req_version : "(null)", offset_sig_validity);
+
if (offset_sig_validity != offsetof (struct _gpgme_signature, validity))
{
- TRACE1 (DEBUG_INIT, "gpgme_check_version_internal: ", 0,
+ TRACE1 (DEBUG_INIT, "gpgme_check_version_internal", 0,
"offset_sig_validity mismatch: expected %i",
offsetof (struct _gpgme_signature, validity));
_gpgme_selftest = GPG_ERR_SELFTEST_FAILED;
cfd[0].fd = rp[1];
- status = _gpgme_io_spawn (file_name, argv, cfd, NULL);
+ status = _gpgme_io_spawn (file_name, argv, 0, cfd, NULL, NULL, NULL);
if (status < 0)
{
_gpgme_io_close (rp[0]);