4 Commits

Author SHA1 Message Date
ejurgensen
ecab3266ce [misc] Fix XML-encoding of strings with XML chars
xmlNewDocRawNode() takes unescaped strings, so it can handle a string with
like "Sweet & Low"

Closes #1798
2024-08-23 21:12:25 +02:00
ejurgensen
f87b65f086 [misc] Add missing include of stdlib
Thanks @LordMyschkin. Closes #1772.
2024-06-25 23:38:24 +02:00
ejurgensen
75b8f06e25 [misc] Replace mxml with libxml2
mxml 4 is binary and source incompatible with 3, and there is no easy way to
stay compatible with both. Not great for a library. So replace with libxml2,
hopefully that is more stable. Also means we can get rid of all the mxml hacks
2024-05-31 23:47:46 +02:00
ejurgensen
65c72c484b [misc] Add misc_xml.c to wrap mxml, fixes XML reading of CDATA (et al)
The change removes all direct calls to mxml from the modules that need an XML
parser (lastfm.c, pipe.c, rssscanner.c and httpd_rsp.c).

Even with the help of mxml, reading XML is hard, so a layer is added which
helps deal with stuff like whitespace and CDATA. This should make OwnTone more
resilient to any XML variations it might receive.

The changes fixes issue #1677.
2023-11-12 23:43:38 +01:00