mirror of
https://github.com/owntone/owntone-server.git
synced 2024-12-26 07:05:57 -05:00
Add workaround for empty XML tags in RSP replies
The SoundBridge does not support empty XML tags (<foo/>) and treats anything containing such tags as invalid. Adding an empty string to the element works around that, in that mxml won't produce empty tags in this case. Hackish, but dealing with a hackish implementation on the other side :)
This commit is contained in:
parent
28350ae9a6
commit
977afbbc5e
@ -391,6 +391,14 @@ rsp_reply_db(struct evhttp_request *req, char **uri, struct evkeyvalq *query)
|
||||
free(db_errmsg);
|
||||
}
|
||||
|
||||
/* HACK
|
||||
* Add a dummy empty string to the playlists element if there is no data
|
||||
* to return - this prevents mxml from sending out an empty <playlists/>
|
||||
* tag that the SoundBridge does not handle. It's hackish, but it works.
|
||||
*/
|
||||
if (qi.specifiedtotalcount == 0)
|
||||
mxmlNewText(pls, 0, "");
|
||||
|
||||
evbuf = mxml_to_evbuf(reply);
|
||||
mxmlDelete(reply);
|
||||
|
||||
@ -643,6 +651,14 @@ rsp_reply_playlist(struct evhttp_request *req, char **uri, struct evkeyvalq *que
|
||||
free(db_errmsg);
|
||||
}
|
||||
|
||||
/* HACK
|
||||
* Add a dummy empty string to the items element if there is no data
|
||||
* to return - this prevents mxml from sending out an empty <items/>
|
||||
* tag that the SoundBridge does not handle. It's hackish, but it works.
|
||||
*/
|
||||
if (qi.specifiedtotalcount == 0)
|
||||
mxmlNewText(items, 0, "");
|
||||
|
||||
evbuf = mxml_to_evbuf(reply);
|
||||
mxmlDelete(reply);
|
||||
|
||||
@ -833,6 +849,14 @@ rsp_reply_browse(struct evhttp_request *req, char **uri, struct evkeyvalq *query
|
||||
free(db_errmsg);
|
||||
}
|
||||
|
||||
/* HACK
|
||||
* Add a dummy empty string to the items element if there is no data
|
||||
* to return - this prevents mxml from sending out an empty <items/>
|
||||
* tag that the SoundBridge does not handle. It's hackish, but it works.
|
||||
*/
|
||||
if (qi.specifiedtotalcount == 0)
|
||||
mxmlNewText(items, 0, "");
|
||||
|
||||
evbuf = mxml_to_evbuf(reply);
|
||||
mxmlDelete(reply);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user