summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordefanor <defanor@uberspace.net>2021-02-12 20:11:20 +0300
committerdefanor <defanor@uberspace.net>2021-02-12 20:11:20 +0300
commitd0d568f9bc39f9e35b6d39ecf21b5e425ea91c85 (patch)
tree1cb5e728bb80005707244038f2eacbdce01dbbf6 /src
parent3b5806a16e4fd0a6f292050508790fc0c3f6b36f (diff)
Set log_function on initialisation
rexmpp_init may write logs itself, so a logging function should be set for that.
Diffstat (limited to 'src')
-rw-r--r--src/rexmpp.c6
-rw-r--r--src/rexmpp.h4
2 files changed, 7 insertions, 3 deletions
diff --git a/src/rexmpp.c b/src/rexmpp.c
index 3064f3f..dde85f1 100644
--- a/src/rexmpp.c
+++ b/src/rexmpp.c
@@ -359,7 +359,9 @@ int rexmpp_sasl_cb (Gsasl *ctx, Gsasl_session *sctx, Gsasl_property prop) {
return s->sasl_property_cb(s, prop);
}
-rexmpp_err_t rexmpp_init (rexmpp_t *s, const char *jid)
+rexmpp_err_t rexmpp_init (rexmpp_t *s,
+ const char *jid,
+ log_function_t log_func)
{
int err;
xmlSAXHandler sax = {
@@ -421,7 +423,7 @@ rexmpp_err_t rexmpp_init (rexmpp_t *s, const char *jid)
s->stanza_queue_size = 1024;
s->send_queue_size = 1024;
s->iq_queue_size = 1024;
- s->log_function = NULL;
+ s->log_function = log_func;
s->sasl_property_cb = NULL;
s->xml_in_cb = NULL;
s->xml_out_cb = NULL;
diff --git a/src/rexmpp.h b/src/rexmpp.h
index 2f21fce..93740d8 100644
--- a/src/rexmpp.h
+++ b/src/rexmpp.h
@@ -357,7 +357,9 @@ struct rexmpp
@param[in] jid Initial bare JID.
@returns ::REXMPP_SUCCESS or some ::rexmpp_err error.
*/
-rexmpp_err_t rexmpp_init (rexmpp_t *s, const char *jid);
+rexmpp_err_t rexmpp_init (rexmpp_t *s,
+ const char *jid,
+ log_function_t log_function);
/**
@brief ::rexmpp structure deinitialisation. This will free all the