[FIX] Make Parsee build on GCC without warns

This commit is contained in:
LDA 2024-09-10 22:20:13 +02:00
commit 907ac13da9
20 changed files with 72 additions and 20 deletions

View file

@ -68,20 +68,23 @@ PEPManagerCookie(PEPManager *manager)
void
PEPManagerAddEvent(PEPManager *manager, char *node, PEPEvent event)
{
PEPEvent *indirect;
if (!manager || !node || !event)
{
return;
}
indirect = Malloc(sizeof(event));
*indirect = event;
pthread_mutex_lock(&manager->lock);
HashMapSet(manager->node_table, node, event);
HashMapSet(manager->node_table, node, indirect);
pthread_mutex_unlock(&manager->lock);
}
static bool
PEPManagerHandleEvent(PEPManager *manager, XMLElement *stanza)
{
PEPEvent call = NULL;
PEPEvent *call = NULL;
XMLElement *event, *ps, *ev;
size_t i;
if (!manager || !stanza)
@ -101,7 +104,7 @@ PEPManagerHandleEvent(PEPManager *manager, XMLElement *stanza)
XMLElement *items = ArrayGet(event->children, i);
char *node = HashMapGet(items->attrs, "node");
if ((call = HashMapGet(manager->node_table, node)))
if ((call = HashMapGet(manager->node_table, node)) && *call)
{
size_t j;
/* Use the callback over all items */
@ -109,13 +112,13 @@ PEPManagerHandleEvent(PEPManager *manager, XMLElement *stanza)
{
for (j = 0; j < ArraySize(items->children); j++)
{
call(manager, stanza, ArrayGet(items->children, j));
(*call)(manager, stanza, ArrayGet(items->children, j));
}
return true;
}
/* ... or over "items" specifically. */
call(manager, stanza, items);
(*call)(manager, stanza, items);
return true;
}
}
@ -142,12 +145,18 @@ PEPManagerHandle(PEPManager *manager, XMLElement *stanza)
void
DestroyPEPManager(PEPManager *manager)
{
char *key;
PEPEvent *val;
if (!manager)
{
return;
}
pthread_mutex_destroy(&manager->lock);
while (HashMapIterate(manager->node_table, &key, (void **) &val))
{
Free(val);
}
HashMapFree(manager->node_table);
Free(manager);
}

View file

@ -118,4 +118,5 @@ PEPVCardEvent(PEPManager *m, XMLElement *stanza, XMLElement *item)
StreamFlush(jabber->stream);
pthread_mutex_unlock(&jabber->write_lock);
XMLFreeElement(reply);
(void) item;
}

View file

@ -113,6 +113,8 @@ IQDiscoGet(ParseeData *args, XMPPComponent *jabber, XMLElement *stanza)
pthread_mutex_unlock(&jabber->write_lock);
XMLFreeElement(iq_reply);
(void) args;
}
void
@ -440,6 +442,9 @@ void
IQError(ParseeData *args, XMLElement *stanza, XMPPThread *thr)
{
/* TODO */
(void) args;
(void) stanza;
(void) thr;
}
void
IQSet(ParseeData *args, XMLElement *stanza, XMPPThread *thr)