mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-10-25 10:40:57 +00:00
- Remove most __ASSEMBLER__ __LINKER__ ifdefs - Rename libc/intrin/bits.h to libc/serialize.h - Block pthread cancelation in fchmodat() polyfill - Remove `clang-format off` statements in third_party |
||
|---|---|---|
| .. | ||
| asciilib.inc | ||
| codecs.inc | ||
| count.inc | ||
| ctype.inc | ||
| eq.inc | ||
| fastsearch.inc | ||
| find.inc | ||
| find_max_char.inc | ||
| join.inc | ||
| localeutil.inc | ||
| partition.inc | ||
| README.txt | ||
| replace.inc | ||
| split.inc | ||
| stringdefs.inc | ||
| transmogrify.inc | ||
| ucs1lib.inc | ||
| ucs2lib.inc | ||
| ucs4lib.inc | ||
| undef.inc | ||
| unicode_format.inc | ||
| unicodedefs.inc | ||
bits shared by the bytesobject and unicodeobject implementations (and
possibly other modules, in a not too distant future).
the stuff in here is included into relevant places; see the individual
source files for details.
--------------------------------------------------------------------
the following defines used by the different modules:
STRINGLIB_CHAR
the type used to hold a character (char or Py_UNICODE)
STRINGLIB_EMPTY
a PyObject representing the empty string, only to be used if
STRINGLIB_MUTABLE is 0
Py_ssize_t STRINGLIB_LEN(PyObject*)
returns the length of the given string object (which must be of the
right type)
PyObject* STRINGLIB_NEW(STRINGLIB_CHAR*, Py_ssize_t)
creates a new string object
STRINGLIB_CHAR* STRINGLIB_STR(PyObject*)
returns the pointer to the character data for the given string
object (which must be of the right type)
int STRINGLIB_CHECK_EXACT(PyObject *)
returns true if the object is an instance of our type, not a subclass
STRINGLIB_MUTABLE
must be 0 or 1 to tell the cpp macros in stringlib code if the object
being operated on is mutable or not