mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
message.c: Put plugin handler code in helper function
This commit is contained in:
parent
6be5b51a46
commit
83ed9ba24b
@ -96,20 +96,27 @@ static xmpp_stanza_t* _openpgp_signcrypt(xmpp_ctx_t* ctx, const char* const to,
|
|||||||
|
|
||||||
static GHashTable *pubsub_event_handlers;
|
static GHashTable *pubsub_event_handlers;
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
_handled_by_plugin(xmpp_stanza_t *const stanza)
|
||||||
|
{
|
||||||
|
char *text;
|
||||||
|
size_t text_size;
|
||||||
|
|
||||||
|
xmpp_stanza_to_text(stanza, &text, &text_size);
|
||||||
|
gboolean cont = plugins_on_message_stanza_receive(text);
|
||||||
|
xmpp_free(connection_get_ctx(), text);
|
||||||
|
|
||||||
|
return !cont;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_message_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const userdata)
|
_message_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const userdata)
|
||||||
{
|
{
|
||||||
log_debug("Message stanza handler fired");
|
log_debug("Message stanza handler fired");
|
||||||
|
|
||||||
char *text;
|
if (_handled_by_plugin(stanza)) {
|
||||||
size_t text_size;
|
|
||||||
xmpp_stanza_to_text(stanza, &text, &text_size);
|
|
||||||
gboolean cont = plugins_on_message_stanza_receive(text);
|
|
||||||
if (!cont) {
|
|
||||||
xmpp_free(connection_get_ctx(), text);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
xmpp_free(connection_get_ctx(), text);
|
|
||||||
|
|
||||||
// type according to RFC 6121
|
// type according to RFC 6121
|
||||||
const char *type = xmpp_stanza_get_type(stanza);
|
const char *type = xmpp_stanza_get_type(stanza);
|
||||||
|
Loading…
Reference in New Issue
Block a user