mirror of
https://forge.fsky.io/lda/Parsee.git
synced 2026-03-14 01:55:16 +00:00
[FIX] Make Parsee build on GCC without warns
This commit is contained in:
parent
1d188069db
commit
907ac13da9
20 changed files with 72 additions and 20 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -118,4 +118,5 @@ PEPVCardEvent(PEPManager *m, XMLElement *stanza, XMLElement *item)
|
|||
StreamFlush(jabber->stream);
|
||||
pthread_mutex_unlock(&jabber->write_lock);
|
||||
XMLFreeElement(reply);
|
||||
(void) item;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue