summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2021-12-23test: Update json test case to not rely on --enable-debugGravatar Nikias Bassen1-9/+6
2021-12-23plistutil: Check return values from plist API to print proper error messagesGravatar Nikias Bassen1-14/+35
and return a meaningful exit code.
2021-12-23jplist: Make strndup argument const to silence compiler warningGravatar Nikias Bassen1-1/+1
2021-12-23[github-actions] Fix test suite failing due to missing debug outputGravatar Nikias Bassen1-3/+3
2021-12-23jplist: Fix build on WindowsGravatar Nikias Bassen1-0/+12
2021-12-23Add support for JSON formatGravatar Nikias Bassen20-66/+1403
2021-12-23test: Add PLIST_UID test caseGravatar Nikias Bassen4-3/+155
2021-12-23xplist: Add special handling for PLIST_UID parsing from XMLGravatar Nikias Bassen1-5/+14
In XML, PLIST_UID nodes are stored as a dict with a "CF$UID" key and an integer value, so we want to make it a real PLIST_UID node internally.
2021-12-22Add a return value to plist_to_* and plist_from_* functionsGravatar Nikias Bassen4-43/+120
This way it can be easier determined why an import/export operation failed instead of just having a NULL result.
2021-12-19Add support for PLIST_NULL typeGravatar Nikias Bassen4-15/+60
2021-12-19Fix 'make docs' target deleting the whole docs subdirGravatar Nikias Bassen1-1/+1
2021-12-19Add new plist_mem_free() functionGravatar Nikias Bassen4-24/+28
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-11-08xplist: Better size estimation for PLIST_REAL nodesGravatar Nikias Bassen1-2/+2
2021-09-21[github-actions] Add an explicit apt-get update before attempting to install ↵Gravatar Nikias Bassen1-0/+1
packages on ubuntu
2021-09-17[github-actions] Remove git checkout HEAD^2 step for CodeQLGravatar Nikias Bassen1-5/+0
2021-09-13Check availability of constructor attribute and use it on Windows in favor ↵Gravatar Nikias Bassen2-20/+45
of DllMain
2021-09-11windows: Make thread_once static and remove const qualifiers from ↵Gravatar Nikias Bassen1-3/+3
thread_once_t globals
2021-09-11Update deprecated autoconf macros and update m4 filesGravatar Nikias Bassen4-127/+172
2021-07-13cpp: Array: Make sure the array passed to array_fill ist passed by referenceGravatar liujianfengv1-1/+1
When creating a new Array object, for example through PList::Node::FromPlist(plist_t node), the array_fill function is called from Array() constructor in line 51. It seems that the intended way of calling array_fill() is to pass the _array object by reference, however it is actually passed by value. Thus the changes to the array object made by array_fill() are discarded when the function returns. This commit passes the _array by reference so we keep the changes.
2021-06-30README: Fix typoGravatar Nikias Bassen1-1/+1
2021-06-22[clang-tidy] Remove casts to the same typeGravatar Rosen Penev2-2/+2
Found with google-readability-casting Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-22[clang-tidy] cpp: Replace free with deleteGravatar Rosen Penev5-19/+9
It's the C++ way. It also avoids having to check for NULL. Found with cppcoreguidelines-owning-memory Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-22[clang-tidy] Fix bad widening castsGravatar Rosen Penev1-2/+2
Found with bugprone-misplaced-widening-cast Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-22[clang-tidy] cpp: Use correct type for loop variableGravatar Rosen Penev1-4/+2
Found with bugprone-too-small-loop-variable Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-22[clang-tidy] cpp: Turn reference operators to constGravatar Rosen Penev20-20/+20
Found with cppcoreguidelines-c-copy-assignment-signature Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-22[clang-tidy] Avoid global non-const variablesGravatar Rosen Penev2-4/+4
Found with cppcoreguidelines-avoid-non-const-global-variables Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-22[clang-tidy] Remove pointless constGravatar Rosen Penev2-2/+2
The const is actually misplaced. const plist_t evaluates to void *const instead of const void *. const qualification of the former makes no sense in function declarations. Found with misc-misplaced-const Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-09[github-actions] Create artifactsGravatar Nikias Bassen1-0/+45
2021-06-09[github-actions] Use python3/cython3 for building python bindingsGravatar Nikias Bassen1-6/+20
2021-06-09[github-actions] macOS: Build arm64 _and_ x86_64Gravatar Nikias Bassen1-0/+10
2021-06-09[github-actions] Windows: Also build cython extensionGravatar Nikias Bassen1-1/+2
2021-06-09[github-actions] Windows: add matrix to build for x86_64 and i686Gravatar Nikias Bassen1-1/+9
2021-06-09cython: Add -no-undefined to linker flags for shared python libGravatar Nikias Bassen1-1/+1
2021-06-08configure: Don't force use of clangGravatar Nikias Bassen1-6/+0
2021-02-07configure.ac: Don't try to run pkg-config if it is not availableGravatar Nikias Bassen1-1/+3
2021-02-06plistutil: Fix stdin input buffer reallocationGravatar Nikias Bassen1-5/+16
2021-01-28[github-actions] macOS: Fix build with cythonGravatar Nikias Bassen1-1/+5
2021-01-25Replace malloc + memset with calloc where appropriateGravatar Rosen Penev4-10/+6
calloc is faster for big allocations. It's also simpler. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-01-11configure: Make sure to also search for cython3 if cython is not foundGravatar Nikias Bassen1-3/+3
2020-11-24time64: Remove code duplication in separate if branches by combining the ↵Gravatar Rosen Penev1-6/+1
conditions [clang-tidy] Found with bugprone-branch-clone Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-11-24Add parentheses to macros for better readabilityGravatar Rosen Penev2-15/+15
[clang-tidy] Found with bugprone-macro-parentheses Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-11-24Improve code readability by using explicit != 0 compare when using strncmpGravatar Rosen Penev2-5/+5
[clang-tidy] Found with bugprone-suspicious-string-compare Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-11-24Improve code readability by not using else after returnGravatar Rosen Penev4-65/+55
[clang-tidy] Found with readability-else-after-return Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-11-21docs: Better wording for plistutil's description in man pageGravatar Nikias Bassen1-1/+1
2020-11-21bplist: Fix offset table range check, don't rely on pointer overflowGravatar Nikias Bassen1-1/+1
2020-11-21[github-actions] Update msys2/windows build actionGravatar Nikias Bassen1-10/+21
2020-10-01[github-actions] Remove python from languages for codeql-analysisGravatar Nikias Bassen1-1/+1
2020-10-01Create codeql-analysis.ymlGravatar Nikias Bassen1-0/+71
2020-08-13Simplify configure check for fminGravatar Jeroen Roovers1-17/+1
AC_TRY_LINK is deprecated and users are encouraged to replace it with AC_LINK_IFELSE. However, AC_SEARCH_LIBS uses AC_LINK_IFELSE internally and does exactly what we need here: test whether an `fmin` symbol is already resolved or if libm will resolve it, neatly avoiding autoconf caching and AC_TRY_LINK/AC_LINK_IFELSE pitfalls. So just use that.
2020-06-16[github-actions] Remove 'make distcheck' from ubuntu build testGravatar Nikias Bassen1-2/+0