Mercurial > cpython-lru_cache-weakref
diff Objects/stringobject.c @ 21138:a2d03ceba80e legacy-trunk
Patch 487906: update inline docs.
| author | Martin v. Löwis <martin@v.loewis.de> |
|---|---|
| date | Sun, 02 Dec 2001 18:09:41 +0000 |
| parents | 304b34023876 |
| children | 90a0d80033b4 |
line wrap: on
line diff
--- a/Objects/stringobject.c Sun Dec 02 15:13:35 2001 +0000 +++ b/Objects/stringobject.c Sun Dec 02 18:09:41 2001 +0000 @@ -19,19 +19,27 @@ #endif /* - Newsizedstringobject() and newstringobject() try in certain cases - to share string objects. When the size of the string is zero, - these routines always return a pointer to the same string object; - when the size is one, they return a pointer to an already existing - object if the contents of the string is known. For - newstringobject() this is always the case, for - newsizedstringobject() this is the case when the first argument in - not NULL. - A common practice to allocate a string and then fill it in or - change it must be done carefully. It is only allowed to change the - contents of the string if the obect was gotten from - newsizedstringobject() with a NULL first argument, because in the - future these routines may try to do even more sharing of objects. + PyString_FromStringAndSize() and PyString_FromString() try in certain cases + to share string objects. When the size of the string is zero, these + routines always return a pointer to the same string object; when the size + is one, they return a pointer to an already existing object if the contents + of the string is known. For PyString_FromString() this is always the case, + for PyString_FromStringAndSize() this is the case when the first argument + in not NULL. + + A common practice of allocating a string and then filling it in or changing + it must be done carefully. It is only allowed to change the contents of + the string if the object was gotten from PyString_FromStringAndSize() with + a NULL first argument, because in the future these routines may try to do + even more sharing of objects. + + The parameter `size' denotes number of characters to allocate, not counting + the null terminating character. If the `str' argument is not NULL, then it + must point to a null-terminated string of length `size'. + + The member `op->ob_size' denotes the number of bytes of data in the string, + not counting the null terminating character, and is therefore equal to the + `size' parameter. */ PyObject * PyString_FromStringAndSize(const char *str, int size)
