| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
offset>=0.
|
| |
|
|
|
|
| |
Probably should be backported.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In C++, it's an error to pass a string literal to a char* function
without a const_cast(). Rather than require every C++ extension
module to put a cast around string literals, fix the API to state the
const-ness.
I focused on parts of the API where people usually pass literals:
PyArg_ParseTuple() and friends, Py_BuildValue(), PyMethodDef, the type
slots, etc. Predictably, there were a large set of functions that
needed to be fixed as a result of these changes. The most pervasive
change was to make the keyword args list passed to
PyArg_ParseTupleAndKewords() to be a const char *kwlist[].
One cast was required as a result of the changes: A type object
mallocs the memory for its tp_doc slot and later frees it.
PyTypeObject says that tp_doc is const char *; but if the type was
created by type_new(), we know it is safe to cast to char *.
|
| |
|
| |
|
| |
|
|
|
|
| |
Add function names to various PyArg_ParseTuple calls in bz2module.c.
|
|
|
|
| |
as parameter.
|
| |
|
| |
|
| |
|
|
|
|
| |
bz2 files. Also, included a testcase for this problem.
|
|
|
|
| |
[#727759] get bzip2 to build on Solaris 8 (old bzip library)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Modules/bz2module.c
(BZ2FileObject): Now the structure includes a pointer to a file object,
instead of "inheriting" one. Also, some members were copied from the
PyFileObject structure to avoid dealing with the internals of that
structure from outside fileobject.c.
(Util_GetLine,Util_DropReadAhead,Util_ReadAhead,Util_ReadAheadGetLineSkip,
BZ2File_write,BZ2File_writelines,BZ2File_init,BZ2File_dealloc,
BZ2Comp_dealloc,BZ2Decomp_dealloc):
These functions were adapted to the change above.
(BZ2File_seek,BZ2File_close): Use PyObject_CallMethod instead of
getting the function attribute locally.
(BZ2File_notsup): Removed, since it's not necessary anymore to overload
truncate(), and readinto() with dummy functions.
(BZ2File_methods): Added xreadlines() as an alias to BZ2File_getiter,
and removed truncate() and readinto().
(BZ2File_get_newlines,BZ2File_get_closed,BZ2File_get_mode,BZ2File_get_name,
BZ2File_getset):
Implemented getters for "newlines", "mode", and "name".
(BZ2File_members): Implemented "softspace" member.
(BZ2File_init): Reworked to create a file instance instead of initializing
itself as a file subclass. Also, pass "name" object untouched to the
file constructor, and use PyObject_CallFunction instead of building the
argument tuple locally.
(BZ2File_Type): Set tp_new to PyType_GenericNew, tp_members to
BZ2File_members, and tp_getset to BZ2File_getset.
(initbz2): Do not set BZ2File_Type.tp_base nor BZ2File_Type.tp_new.
* Doc/lib/libbz2.tex
Do not mention that BZ2File inherits from the file type.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The attached patch enables shared extension
modules to build cleanly under Cygwin without
moving the static initialization of certain function
pointers (i.e., ones exported from the Python
DLL core) to a module initialization function.
Additionally, this patch fixes the modules that
have been changed in the past to accommodate
Cygwin.
|
|
|
|
| |
This patch enables the bz2 module to build cleanly under Cygwin.
|
| |
|
|
|
|
| |
_PyString_Resize calls.
|
| |
|
| |
|
|
|
|
| |
_PyString_Resize to int.
|
|
|
|
|
| |
solely used to hold LONG_LONG values, and the compiler rightfully warns
about potential data loss otherwise.
|
| |
|
| |
|
|
|
|
|
| |
(BZ2File_dealloc): Call Util_DropReadAhead().
(*): Included aesthetic changes by Neal Norwitz.
|
|
|
|
| |
More fixes of XDECREF'd values not initialized.
|
|
|
|
|
| |
Needed to init ret since it was Py_XDECREF()d on error.
All regressions pass in debug build for me.
|
|
* setup.py
(PyBuildExt.detect_modules): Included bz2 module detection.
* Modules/bz2module.c
* Lib/test/test_bz2.py
* Doc/lib/libbz2.tex
Included files implementing, testing, and documenting bz2 module.
* Doc/Makefile.deps
* Doc/lib/lib.tex
Include references to libbz2.tex.
* Misc/NEWS
(Library): Mention distutils' c++ linkage patch, and new bz2 module.
|