summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2011-05-27Add submodule libcnaryGravatar Nikias Bassen2-0/+3
2011-03-20Bump version to 1.4 for release1.4Gravatar Martin Szulecki2-2/+2
2011-03-20Change pkg-config file "Requires" into "Requires.private"Gravatar Martin Szulecki1-1/+1
2011-03-20Add NEWS file with list of changesGravatar Martin Szulecki1-0/+89
2011-03-16Plugging memory leak in write_unicodeGravatar Christophe Fergeau1-0/+1
2011-02-12Make sure install_name_tool on OSX picks up library install pathGravatar Martin Szulecki1-0/+6
This allows dylib to correctly find the library and fixes linking on OSX.
2011-02-12Fix Dictionary copy constructorGravatar Christophe Fergeau1-1/+1
While iterating over all the keys stored in the source Dictionary to copy them to create the copied Dictonary, the name of the key being copied was only set to a non-NULL value for the first key we copy. This was then leading to an assertion when trying to create a std::string from a NULL pointer. Simple test-case: int main() { PList::Dictionary a; PList::String b("Hello"); PList::String c("Hi!"); PList::Dictionary d; a.Insert("Key", &b); a.Insert("Another Key", &c); std::cout << a.ToXml() << std::endl; d.Insert("dictionary", &a); //CRAAAAAAAAASH! std::cout << d.ToXml() << std::endl; return 0; } /* Output: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Key</key> <string>Hello</string> <key>Another Key</key> <string>Hi!</string> </dict> </plist> terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_S_construct NULL not valid */ Signed-off-by: Martin Szulecki <opensuse@sukimashita.com>
2011-02-12Update README with new official source repository locationGravatar Martin Szulecki1-2/+2
2011-02-12Update AUTHORS from git log historyGravatar Martin Szulecki1-1/+10
2010-08-23Fixes the xml export.Gravatar Dogbert1-2/+2
Apple's activation server refuses XML tickets when this patch isn't applied.
2010-07-29Fix unicode binary writing.Gravatar Jonathan Beck1-7/+23
2010-04-19fixed include dirsGravatar Patrick von Reth1-1/+2
2010-04-18Bump version numberv1.3Gravatar Jonathan Beck2-2/+2
2010-04-18Update README.Gravatar Jonathan Beck1-8/+8
2010-04-18Endianness, alignment and type-punning fixes for binary plist supportGravatar Julien BLACHE1-13/+63
- endianness issues: on big endian machines, writing out only part of an integer was broken (get_needed_bytes(x) < sizeof(x)) -> shift integer before memcpy() on big endian machines - alignment issues: unaligned reads when loading binary plist. Leads to slow runtime performance (kernel trapping and fixing things up), SIGBUS (kernel not helping us out) -> introduce get_unaligned() and have the compiler generate the code needed for the unaligned access (note that there remains unaligned accesses that I haven't been able to track down - I've seen 2 of them with test #2) - type-punning issues: breaking strict aliasing rules can lead to unexpected results as the compiler takes full advantage of the aliasing while optimizing -> introduce the plist_uint_ptr union instead of casting pointers Tested on amd64, alpha and hppa.
2010-04-06plist_to_xml: use POSIX locale to make sure '.' is used for floatsGravatar Nikias Bassen1-0/+14
In locales like German, a ',' is used as a decimal separator. When the program calling plist_to_xml uses LC_NUMBER with something different than a '.', parsing of the resulting XML document fails. This patch fixes it.
2010-04-06plist_to_xml: copy terminating 0-byte given from xmlDocDumpMemoryGravatar Nikias Bassen1-2/+3
This makes it possible to process the resulting char* directly as a c-string without further copying.
2010-03-24Fix armel floating point endianess (LP: #541879)Gravatar Alexander Sack1-6/+26
* on armel system floating poing data can have different endianess than rest of types; hence we fix arm endianess for defined(__VFP_FP__) to be big/native; this also applies for data parsing/writing * date parsing didnt flip the endianess back for little endian systems when reading the values causing test failures; we fix this by ensuring float endianess is applied when parsing
2010-03-03Copy xml buffer to malloced buffer to prevent free / xmlFree mixing.Gravatar Jonathan Beck1-2/+9
2010-03-03Alow compiling with mingw on windows (thanks to Patrick).Gravatar Jonathan Beck1-1/+1
2010-01-21Bump version to 1.2v1.2Gravatar Jonathan Beck2-2/+2
2010-01-21Fix some warningsGravatar Jonathan Beck6-52/+15
2010-01-14Make sure to convert predefined xml entities in xml outputGravatar Martin Szulecki2-1/+8
For string nodes, a set of special characters must be converted to predefined xml entities. This patch adds an entitiy test case for this and makes libplist pass it fine by explicitly adding text nodes.
2010-01-14Make tests also work when building outside the source treeGravatar Martin Szulecki1-12/+13
2009-12-14Bump version number to 1.1v1.1Gravatar Jonathan Beck2-2/+2
2009-12-12Add stdint.i to fix usage of Integer nodes in Python bindingsGravatar Martin Szulecki1-1/+1
2009-12-07Bump version number to 1.0v1.0Gravatar Jonathan Beck2-3/+3
2009-11-28Remove last includes of non-existing Utils.hGravatar Martin Szulecki2-2/+0
2009-11-19don't leak GNodes in plist_freeGravatar Christophe Fergeau1-1/+1
Before recursing over its children, plist_free_node started by detaching the current GNode from its parent which means that calling g_node_destroy on the root of the tree was freeing only the top-level GNode while what was intended was to free the whole tree. Don't leak memory by not detaching children GNodes from their parents so that g_node_destroy on the toplevel GNode can clean everything.
2009-11-19add missing break; in switch statementGravatar Christophe Fergeau1-0/+2
The 2nd missing break was harmless since it fell through the default: case which has a break, but it makes things more robust if we were ever to add new cases to this switch. The 1st missing break; was causing warnings in valgrind since we ended up calling strdup on a memory zone not containing a \0 character.
2009-11-11Simplify 'libplist.PList' python module to 'plist'.Gravatar Jonathan Beck3-9/+11
2009-11-11Fix removal of the Utils class.Gravatar Jonathan Beck3-7/+6
2009-11-11Move some methods and drop Utils class in C++ binding.Gravatar Jonathan Beck10-156/+88
2009-11-10Raise soversion since we removed a lot of symbols.Gravatar Jonathan Beck1-1/+1
2009-11-10Remove deprecated functions from API.Gravatar Jonathan Beck4-351/+18
2009-11-10Remove deprecated python binding.Gravatar Jonathan Beck1-291/+13
2009-11-10Do not free plist node twice in Dictionary destructor.Gravatar Jonathan Beck1-1/+0
2009-11-10Do not export internal functions symbols.Gravatar Jonathan Beck1-4/+4
2009-11-10Remove wrongly exposed SetParent method.Gravatar Jonathan Beck6-20/+23
2009-11-04Add GetNodeIdex and GetNodeKey methods.Gravatar Jonathan Beck4-0/+20
2009-10-29Install python bindings in the right directory on 64bit machines.Gravatar Christophe Fergeau1-1/+1
2009-10-29Add a CMake option to disable python bindingsGravatar Ingmar Vanhassel1-3/+8
2009-10-28Bump version to 0.16.v0.16Gravatar Jonathan Beck2-2/+2
2009-10-28Update doxygen documentation generation to be useful.Gravatar Martin Szulecki2-74/+200
2009-10-28Format sources to ANSI style using AStyle (astyle --style=ansi).Gravatar Jonathan Beck32-2905/+3049
2009-10-28Unlink previous node in SetParent().Gravatar Jonathan Beck2-0/+13
2009-10-28Fix build for MSVC9.Gravatar Jonathan Beck16-10/+44
2009-10-26Change name of input argument as 'in' is a reserved keyword in python.Gravatar Jonathan Beck2-6/+6
2009-10-26Add Set/Get Parent and a helper to create a Node from a plist_t.Gravatar Jonathan Beck22-245/+113
2009-10-26Fix SwigPyIterators name depending on version of SWIG.Gravatar Jonathan Beck1-2/+9