Returns a null-terminated representation of the contents of
string. The pointer refers to the internal buffer of
string, not a copy. The data must not be modified in any way.
It must not be de-allocated.
Creates a new string object in *string containing the
contents of newpart appended to string; the caller will
own the new reference. The reference to the old value of string
will be stolen. If the new string
cannot be created, the old reference to string will still be
discarded and the value of *string will be set to
NULL; the appropriate exception will be set.
Intern the argument *string in place. The argument must be the
address of a pointer variable pointing to a Python string object.
If there is an existing interned string that is the same as
*string, it sets *string to it (decrementing the reference
count of the old string object and incrementing the reference count of
the interned string object), otherwise it leaves *string alone
and interns it (incrementing its reference count). (Clarification:
even though there is a lot of talk about reference counts, think of
this function as reference-count-neutral; you own the object after
the call if and only if you owned it before the call.)
A combination of PyString_FromString() and
PyString_InternInPlace(), returning either a new string object
that has been interned, or a new (``owned'') reference to an earlier
interned string object with the same value.