Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2024-04-18 | Add PLIST_DICT convenience functions for different queries/operations | Nikias Bassen | 1 | -1/+161 | |
2024-04-14 | Change API around #PLIST_DATA to use uint8_t instead of char arrays | Nikias Bassen | 2 | -8/+8 | |
This makes it more obvious that it is arbitrary data and not necessarily a string value. | |||||
2024-02-21 | docs: Use README.md to generate mainpage with doxygen | Nikias Bassen | 1 | -1/+1 | |
Actually we are using a slightly modified one that removes the `Table of Contents` section and replaces it with the doxygen-compatible `[TOC]` to auto-generate a TOC that has working links. | |||||
2024-02-05 | Add a libplist_version() function to the interface | Nikias Bassen | 1 | -0/+7 | |
2024-01-29 | Fix PLIST_API definitions | Nikias Bassen | 1 | -10/+4 | |
2023-05-20 | Add an explicit PLIST_FORMAT_NONE value | Nikias Bassen | 1 | -0/+1 | |
2023-05-13 | Windows: Use winsock2.h instead of sys/time.h when using MSVC | Nikias Bassen | 1 | -0/+4 | |
2023-05-13 | Move PLIST_API to the headers | Nikias Bassen | 1 | -91/+107 | |
2023-05-05 | Update doxygen config and document undocumented macros | Nikias Bassen | 1 | -2/+13 | |
2023-04-24 | Add a PLIST_OPT_NONE value to plist_write_options_t | Nikias Bassen | 1 | -0/+1 | |
2023-04-21 | Remove unnecessary const to silence compiler warning | Nikias Bassen | 2 | -2/+2 | |
2023-04-21 | C++: Remove deprecated Insert() | Nikias Bassen | 1 | -1/+0 | |
2023-04-21 | C++: Add dictionary and array size method | Nikias Bassen | 2 | -0/+2 | |
Thanks @Cryptiiiic for the contribution. | |||||
2023-04-19 | Remove deprecated plist_dict_insert_item() | Nikias Bassen | 1 | -12/+0 | |
2023-04-19 | Add plist_read_from_file() to interface, update plist_from_memory() | Nikias Bassen | 1 | -2/+21 | |
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-16 | Add new output-only formats and Define constants for the different plist formats | Nikias Bassen | 1 | -8/+91 | |
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-07 | Fix build without --enable-debug | Nikias Bassen | 1 | -0/+1 | |
2023-02-07 | Add function to interface to allow enabling/disabling error/debug output for ↵ | Nikias Bassen | 1 | -0/+7 | |
the format parses This makes the `-d` option work in plistutil that wasn't doing anything | |||||
2023-02-03 | Add new plist_sort() function | Nikias Bassen | 1 | -0/+8 | |
2023-02-03 | Add lowercase begin/end iterator functions | Daniel | 2 | -0/+8 | |
... for Dictionary and Array | |||||
2023-02-03 | Add PList::Array iterator member functions | Daniel | 1 | -0/+7 | |
... returning both iterators and const_iterators: * PList::Array::Begin() * PList::Array::End() | |||||
2023-01-16 | Rename PLIST_UINT to PLIST_INT and add plist_new_int() and plist_get_int_val() | Nikias Bassen | 2 | -13/+74 | |
This properly supports getting and setting signed or unsigned integer values. Also, a new helper function plist_int_val_is_negative() was added to determine if a given #PLIST_INT node has a negative value or not. The old type PLIST_UINT is defined as a macro with the value of PLIST_INT for backwards compatibility. This commit also adds int vs. uint support to the C++ interface, and the python bindings in a hopefully useful way. | |||||
2023-01-08 | Add support for OpenStep plist format | Nikias Bassen | 1 | -0/+24 | |
2022-02-07 | docs: Fix parameter and type names for doxygen | Nikias Bassen | 1 | -8/+11 | |
2021-12-23 | Add support for JSON format | Nikias Bassen | 1 | -7/+36 | |
2021-12-22 | Add a return value to plist_to_* and plist_from_* functions | Nikias Bassen | 1 | -5/+19 | |
This way it can be easier determined why an import/export operation failed instead of just having a NULL result. | |||||
2021-12-19 | Add support for PLIST_NULL type | Nikias Bassen | 1 | -10/+20 | |
2021-12-19 | Add new plist_mem_free() function | Nikias Bassen | 1 | -14/+20 | |
Thanks to @azerg for bringing this to my attention. Instead of having multiple (internally identical) plist_*_free() functions, this commit introduces a single plist_mem_free() that can be used to free the memory allocated by plist_to_xml(), plist_to_bin(), plist_get_key_val(), plist_get_string_val(), and plist_get_data_val(). Note: This commit REMOVES plist_to_bin_free() and plist_to_xml_free(). | |||||
2021-06-22 | [clang-tidy] cpp: Turn reference operators to const | Rosen Penev | 10 | -10/+10 | |
Found with cppcoreguidelines-c-copy-assignment-signature Signed-off-by: Rosen Penev <rosenp@gmail.com> | |||||
2020-06-03 | c++: Fix inconsistent declarations | Rosen Penev | 3 | -4/+4 | |
Signed-off-by: Rosen Penev <rosenp@gmail.com> | |||||
2020-05-11 | Add plist_*_val_compare, plist_*_val_contains, etc. for the respective node ↵ | Nikias Bassen | 1 | -0/+183 | |
types ... except container node types like PLIST_ARRAY or PLIST_DICT. | |||||
2019-11-07 | Add plist_get_data_ptr() and plist_get_string_ptr() to the interface | Nikias Bassen | 1 | -0/+26 | |
2019-11-07 | Add plist_to_bin_free() and plist_to_xml_free() functions that free memory ↵ | Nikias Bassen | 1 | -0/+14 | |
allocated by plist_to_bin()/plist_to_xml() | |||||
2019-07-07 | Add PList::Dictionary::const_iterator | Alexander Böhn | 1 | -0/+4 | |
... and const versions of three member functions, each returning const_iterator: * Plist::Dictionary::Begin() * PList::Dictionary::End() * PList::Dictionary::Find() | |||||
2019-05-20 | Add plist_dict_item_get_key() to allow retrieving the key node for a given ↵ | Nikias Bassen | 1 | -2/+10 | |
item of a #PLIST_DICT | |||||
2019-05-19 | Add plist_array_item_remove() to allow removing an array's child node ↵ | Nikias Bassen | 1 | -0/+8 | |
without relying on the index | |||||
2019-05-19 | plist_array_get_item_index(): return UINT_MAX instead of 0 when node can't ↵ | Nikias Bassen | 1 | -1/+1 | |
be found | |||||
2019-01-21 | headers: Don't redefine uint*_t for newer versions of MSVC | Nikias Bassen | 1 | -1/+1 | |
2019-01-21 | plist: Add iterator for #PLIST_ARRAY nodes | Nikias Bassen | 1 | -9/+37 | |
Similar to #PLIST_DICT, an iterator can now be used for #PLIST_ARRAY nodes. Get an iterator with plist_array_new_iter() and use plist_array_next_item() to iterate over the elements. | |||||
2016-11-10 | Add new PLIST_IS_* helper macros for the different plist node types | Nikias Bassen | 1 | -0/+14 | |
Instead of e.g.: if (plist_get_node_type(plist) == PLIST_STRING) you can now write: if (PLIST_IS_STRING(plist)) | |||||
2016-10-22 | Remove libxml2 dependency in favor of custom XML parsing | Nikias Bassen | 1 | -13/+0 | |
2016-05-12 | Implement plist_from_memory() | Christophe Fergeau | 1 | -0/+11 | |
Rather than having everyone reimplement binary/XML plist detection by looking at the first bytes of the plist content, it's better to do this detection in libplist and hide that internal detail from library users. | |||||
2016-05-12 | Add plist_is_binary() | Christophe Fergeau | 1 | -0/+13 | |
It can be useful if one needs to know what type of plist a memory buffer contains. | |||||
2016-04-20 | Move libxml cleanup code to a plist_cleanup method | Frederik Carlier | 1 | -0/+13 | |
2014-10-03 | Avoid exporting non-public symbols | Nikias Bassen | 1 | -59/+52 | |
2014-09-26 | plist.h: Move deprecation marker before function declaration to make ↵ | Nikias Bassen | 1 | -1/+2 | |
non-gcc/clang compilers happy | |||||
2014-09-26 | C++: Add missing cstddef include to Node.h | Nikias Bassen | 1 | -0/+1 | |
2014-09-20 | Added const to Array.GetSize(), and to 3 Node methods. | Aaron Burghardt | 2 | -4/+4 | |
2014-09-20 | Change Clone() to be const, which required constructors with const ↵ | Aaron Burghardt | 11 | -33/+34 | |
references and a const GetValue(). | |||||
2014-08-06 | Properly rename header guards according to C++ standard | Nikias Bassen | 12 | -36/+36 | |