summaryrefslogtreecommitdiffstats
path: root/src/strbuf.h
AgeCommit message (Collapse)AuthorFilesLines
2023-04-16Add new output-only formats and Define constants for the different plist formatsGravatar Nikias Bassen1-0/+1
This commit introduces constants for the different plist formats, and adds 3 new human-readable output-only formats: - PLIST_FORMAT_PRINT: the default human-readable format - PLIST_FORMAT_LIMD: "libimobiledevice" format (used in ideviceinfo) - PLIST_FORMAT_PLUTIL: plutil-style format Also, a new set of write functions has been added: - plist_write_to_string - plist_write_to_stream - plist_write_to_file Plus a simple "dump" function: - plist_print See documentation for details.
2018-12-14xplist: Improve memory usage by estimating output buffer sizeGravatar Nikias Bassen1-1/+1
2018-12-10bplist: Improve performance and memory usage when writing binary plistGravatar Nikias Bassen1-1/+1
2017-02-15xplist: Improve writing of large PLIST_DATA nodes by growing buffer in advanceGravatar Nikias Bassen1-0/+1
Instead of letting the buffer grow by just the amount of bytes currently transformed to base64 - which is basically line by line - we now calculate the size of the output blob in advance and grow the buffer accordingly. This will reduce the amount of reallocs to just one, which is especially important for large data blobs. While this is a general improvement for all platforms, it is on platforms like Windows where realloc() can be REALLY slow; converting a 20mb blob to XML can easily take up to a minute (due to the several hundred thousand calls to realloc()). With this commit, it will be fast again.
2016-10-22Remove libxml2 dependency in favor of custom XML parsingGravatar Nikias Bassen1-0/+33