unfortunately this just needs to be inlined, a separate utf8_z_hash function won't work. the reason being that PyString_AsStringAndSize gives access to the string object's internal buffer rather than copying, and that string object was being decrefed away at the end of the function, but the buffer we got out of it still needed to be usable.
Most of this work was done by Travis Parker (teepark), I based this changeset off his changes but #ifdef'd things such that both 2 and 3 could compile off the same source.
…s when not required (nothing left on them, but memory is allocated)
…ing() when possible
…ause decode() may be called multiple times, we cannot delay refcnt decrement until dealloc() (lest we leak objects)
…on lists for a 30-40%ish perf improvement. WARNING: memory/ownership semantics ought to be audited before pulling this patch
…the number parsing (and hence represent big nums?)
Tweaked setup.py to get things building properly for me on Python 2.6 Updated file headers to update my email
This will properly handle nested elements now. All hail yellow notepad.
…ct tree from the JSON