summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2023-11-27Updated README with updated Linux installation stepsGravatar Nikias Bassen1-2/+2
2023-11-26[github-actions] Remove unneeded Python 2 path for macOS buildGravatar Dave Nicolson1-4/+0
2023-11-26Fix dictionary key deletion in CythonGravatar Dave Nicolson1-1/+1
2023-11-26Fix Cython dump methodGravatar Dave Nicolson1-1/+3
2023-11-16Allow building without PythonGravatar Dave Nicolson1-3/+4
2023-10-03test: use unique output file names across testsGravatar Sergei Trofimovich36-68/+68
Without the change tests ran in parallel occasionally clobber outputs of one another and fail as: $ make check -j16 VERBOSE=y ... FAIL: huge ========== Converting File ../test/data/5.plist is open PList XML parsing succeeded PList BIN writing succeeded PList BIN parsing succeeded PList XML writing succeeded Size of input and output is different Input size : 4292380 Output size : 4305301 Comparing PList parsing failed FAIL huge.test (exit status: 3) Closes: https://github.com/libimobiledevice/libplist/issues/234#issuecomment-1743820556
2023-08-30Prevent adding NULL items to array/dictionary nodesGravatar Nikias Bassen1-0/+12
Thanks to @tihmstar for pointing this out!
2023-06-15Plug memory leak in plist_write_to_stream()Gravatar Nikias Bassen1-0/+1
Thanks @beyonik for pointing this out!
2023-05-21Add explicit casts and fix return type mismatchesGravatar Nikias Bassen10-146/+152
2023-05-20Add an explicit PLIST_FORMAT_NONE valueGravatar Nikias Bassen2-2/+3
2023-05-19autoconf: Remove unused function checks and fix constructor/destructor ↵Gravatar Nikias Bassen1-1/+10
attribute check
2023-05-14bplist: Move realloc from parse_unicode_node() into plist_utf16be_to_utf8()Gravatar Nikias Bassen1-11/+12
It is very confusing to handle the reallocation (buffer shrinking) outside of the actual conversion function.
2023-05-14Make sure function signatures match their declarations in the public headerGravatar Nikias Bassen2-7/+7
2023-05-13Windows: Use winsock2.h instead of sys/time.h when using MSVCGravatar Nikias Bassen2-1/+7
2023-05-13Add space before PRI* macros, some compilers do not like itGravatar Nikias Bassen6-18/+18
2023-05-13Move PLIST_API to the headersGravatar Nikias Bassen7-192/+198
2023-05-07Silence another false 'shadows builtin function' warning on MinGWGravatar Nikias Bassen1-0/+3
2023-05-07Silence false 'shadows builtin function' warning on MinGWGravatar Nikias Bassen1-0/+3
2023-05-07Silence more compiler warning on 32bit systemsGravatar Nikias Bassen1-22/+22
2023-05-05Silence compiler warning on 32bit systemsGravatar Nikias Bassen1-1/+1
2023-05-05Update doxygen config and document undocumented macrosGravatar Nikias Bassen2-84/+22
2023-04-30autoconf: small update to configure.acGravatar Nikias Bassen1-1/+1
2023-04-24autoconf: Allow disabling build of test suiteGravatar Nikias Bassen2-1/+12
2023-04-24Add a PLIST_OPT_NONE value to plist_write_options_tGravatar Nikias Bassen1-0/+1
2023-04-24git-version-gen: Prevent multiple lines of outputGravatar Nikias Bassen1-0/+1
2023-04-21Updated NEWS for release2.3.0Gravatar Nikias Bassen1-0/+25
2023-04-21test: Fix tests for distcheckGravatar Nikias Bassen2-1/+2
2023-04-21Remove unnecessary const to silence compiler warningGravatar Nikias Bassen4-4/+4
2023-04-21Update soversionGravatar Nikias Bassen1-1/+1
2023-04-21docs: Updated manpageGravatar Nikias Bassen1-0/+3
2023-04-21plistutil: Add -p command line switch to print plist in human-readable formatGravatar Nikias Bassen1-0/+27
2023-04-21C++: Remove deprecated Insert()Gravatar Nikias Bassen2-6/+0
2023-04-21Fix buildGravatar Nikias Bassen1-0/+1
2023-04-21Update .gitignoreGravatar Nikias Bassen1-0/+3
2023-04-21Add C++ interface testGravatar Sébastien Gonzalve8-0/+203
2023-04-21C++: Add dictionary and array size methodGravatar Nikias Bassen4-0/+10
Thanks @Cryptiiiic for the contribution.
2023-04-21bplist: Fix offset range checkGravatar Nikias Bassen1-1/+1
Credit to OSS-Fuzz
2023-04-19Remove deprecated plist_dict_insert_item()Gravatar Nikias Bassen2-17/+0
2023-04-19Add plist_read_from_file() to interface, update plist_from_memory()Gravatar Nikias Bassen4-48/+75
plist_read_from_file() is a convenience function that will open a given file, checks its size, allocates a buffer large enough to hold the full contents, and reads from file to fill the buffer. Then, it calls plist_from_memory() to convert the data to plist format. A (breaking) change had to be made so that plist_from_memory() will also return the parsed format in its 4th argument (if non-NULL).
2023-04-16Add new output-only formats and Define constants for the different plist formatsGravatar Nikias Bassen11-22/+1637
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.
2023-02-07Fix build without --enable-debugGravatar Nikias Bassen5-0/+9
2023-02-07[github-actions] Fix build for CodeQL workflow againGravatar Nikias Bassen1-1/+1
2023-02-07[github-actions] Fix build for CodeQL workflowGravatar Nikias Bassen1-15/+4
2023-02-07Add function to interface to allow enabling/disabling error/debug output for ↵Gravatar Nikias Bassen7-0/+45
the format parses This makes the `-d` option work in plistutil that wasn't doing anything
2023-02-06plistutil: Add command line switch to allow sorting of the output plistGravatar Nikias Bassen2-6/+26
2023-02-06libcnary: Updated typedefs of node_t and node_list_t to contain pointerGravatar Nikias Bassen10-134/+143
This makes the code more readable. Obviously all the code that uses it is also updated.
2023-02-05Fix plist_sort() by swapping the nodes in the tree instead of their dataGravatar Nikias Bassen1-29/+33
The problem was that we swapped potential child node data between nodes, but their parents would not be updated that way, leading to double frees or segmentation faults when freeing a plist. This commit instead fixes this by swapping the actual nodes in the tree.
2023-02-03Add new plist_sort() functionGravatar Nikias Bassen2-0/+69
2023-02-03Add lowercase begin/end iterator functionsGravatar Daniel4-0/+48
... for Dictionary and Array
2023-02-03Add PList::Array iterator member functionsGravatar Daniel2-0/+27
... returning both iterators and const_iterators: * PList::Array::Begin() * PList::Array::End()