1. 12 Feb, 2011 3 commits
    • Christophe Fergeau's avatar
      Fix Dictionary copy constructor · be225ca1
      Christophe Fergeau authored
      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: 's avatarMartin Szulecki <opensuse@sukimashita.com>
      be225ca1
    • Martin Szulecki's avatar
    • Martin Szulecki's avatar
      Update AUTHORS from git log history · b4bbddf6
      Martin Szulecki authored
      b4bbddf6
  2. 23 Aug, 2010 1 commit
    • Dogbert's avatar
      Fixes the xml export. · 9ed6e05b
      Dogbert authored
      Apple's activation server refuses XML tickets when this patch isn't applied.
      9ed6e05b
  3. 29 Jul, 2010 1 commit
  4. 18 Apr, 2010 4 commits
    • Patrick von Reth's avatar
      fixed include dirs · a1ced5fb
      Patrick von Reth authored
      a1ced5fb
    • Jonathan Beck's avatar
      Bump version number · 02cf35bb
      Jonathan Beck authored
      02cf35bb
    • Jonathan Beck's avatar
      Update README. · 60376473
      Jonathan Beck authored
      60376473
    • Julien BLACHE's avatar
      Endianness, alignment and type-punning fixes for binary plist support · 33b8a128
      Julien BLACHE authored
       - 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.
      33b8a128
  5. 06 Apr, 2010 2 commits
  6. 24 Mar, 2010 1 commit
    • Alexander Sack's avatar
      Fix armel floating point endianess (LP: #541879) · e965b325
      Alexander Sack authored
      * 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
      e965b325
  7. 03 Mar, 2010 2 commits
  8. 21 Jan, 2010 2 commits
  9. 14 Jan, 2010 2 commits
  10. 14 Dec, 2009 1 commit
  11. 12 Dec, 2009 1 commit
  12. 07 Dec, 2009 1 commit
  13. 28 Nov, 2009 1 commit
  14. 19 Nov, 2009 2 commits
    • Christophe Fergeau's avatar
      don't leak GNodes in plist_free · 804032e9
      Christophe Fergeau authored
      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.
      804032e9
    • Christophe Fergeau's avatar
      add missing break; in switch statement · d503698b
      Christophe Fergeau authored
      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.
      d503698b
  15. 11 Nov, 2009 2 commits
  16. 10 Nov, 2009 7 commits
  17. 04 Nov, 2009 1 commit
  18. 29 Oct, 2009 2 commits
  19. 28 Oct, 2009 4 commits