Returns a new string object with the value v and length
len on success, and NULL on failure. If v is NULL,
the contents of the string are uninitialized.
Creates a new string object in *string containing the
contents of newpart appended to string. The old value of
string have its reference count decremented. 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.
A way to resize a string object even though it is ``immutable''.
Only use this to build up a brand new string object; don't use this if
the string may already be known in other parts of the code.
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.