[FIX] Add id field, use correct freeing function

This commit is contained in:
LDA 2024-07-10 16:29:19 +02:00
commit 9039f0ce69

View file

@ -405,15 +405,24 @@ ShoveStanza(HashMap *content, XMLElement *stanza)
{ {
char *encoded_stanza = NULL; char *encoded_stanza = NULL;
Stream *str_writer = StrStreamWriter(&encoded_stanza); Stream *str_writer = StrStreamWriter(&encoded_stanza);
if (!stanza || !content)
{
StreamClose(str_writer);
return content;
}
XMLEncode(str_writer, stanza); XMLEncode(str_writer, stanza);
StreamFlush(str_writer); StreamFlush(str_writer);
StreamClose(str_writer); StreamClose(str_writer);
JsonFree(HashMapSet(content, JsonValueFree(HashMapSet(content,
"at.kappach.at.parsee.stanza", "at.kappach.at.parsee.stanza",
JsonValueString(encoded_stanza) JsonValueString(encoded_stanza)
)); ));
JsonValueFree(HashMapSet(content,
"at.kappach.at.parsee.id",
JsonValueString(HashMapGet(stanza->attrs, "id"))
));
Free(encoded_stanza); Free(encoded_stanza);
return content; return content;