Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

This fixes brittleness with python structs #82

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 36 additions & 38 deletions src/pylzma/pylzma_aes.c
Original file line number Diff line number Diff line change
Expand Up @@ -150,42 +150,40 @@ aesdecrypt_methods[] = {

PyTypeObject
CAESDecrypt_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
"pylzma.AESDecrypt", /* char *tp_name; */
sizeof(CAESDecryptObject), /* int tp_basicsize; */
0, /* int tp_itemsize; // not used much */
NULL, /* destructor tp_dealloc; */
NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; // __getattr__ */
NULL, /* setattrfunc tp_setattr; // __setattr__ */
NULL, /* cmpfunc tp_compare; // __cmp__ */
NULL, /* reprfunc tp_repr; // __repr__ */
NULL, /* PyNumberMethods *tp_as_number; */
NULL, /* PySequenceMethods *tp_as_sequence; */
NULL, /* PyMappingMethods *tp_as_mapping; */
NULL, /* hashfunc tp_hash; // __hash__ */
NULL, /* ternaryfunc tp_call; // __call__ */
NULL, /* reprfunc tp_str; // __str__ */
0, /* tp_getattro*/
0, /* tp_setattro*/
0, /* tp_as_buffer*/
Py_TPFLAGS_DEFAULT, /*tp_flags*/
"AES decryption class", /* tp_doc */
0, /* tp_traverse */
0, /* tp_clear */
0, /* tp_richcompare */
0, /* tp_weaklistoffset */
0, /* tp_iter */
0, /* tp_iternext */
aesdecrypt_methods, /* tp_methods */
0, /* tp_members */
0, /* tp_getset */
0, /* tp_base */
0, /* tp_dict */
0, /* tp_descr_get */
0, /* tp_descr_set */
0, /* tp_dictoffset */
(initproc)aesdecrypt_init, /* tp_init */
0, /* tp_alloc */
0, /* tp_new */
.ob_base = PyVarObject_HEAD_INIT(NULL, 0)
.tp_name = "pylzma.AESDecrypt", /* char *tp_name; */
.tp_basicsize = sizeof(CAESDecryptObject), /* int tp_basicsize; */
.tp_itemsize = 0, /* int tp_itemsize; // not used much */
.tp_dealloc = NULL, /* destructor tp_dealloc; */
.tp_getattr = NULL, /* getattrfunc tp_getattr; // __getattr__ */
.tp_setattr = NULL, /* setattrfunc tp_setattr; // __setattr__ */
.tp_repr = NULL, /* reprfunc tp_repr; // __repr__ */
.tp_as_number = NULL, /* PyNumberMethods *tp_as_number; */
.tp_as_sequence = NULL, /* PySequenceMethods *tp_as_sequence; */
.tp_as_mapping = NULL, /* PyMappingMethods *tp_as_mapping; */
.tp_hash = NULL, /* hashfunc tp_hash; // __hash__ */
.tp_call = NULL, /* ternaryfunc tp_call; // __call__ */
.tp_str = NULL, /* reprfunc tp_str; // __str__ */
.tp_getattro = 0, /* tp_getattro*/
.tp_setattro = 0, /* tp_setattro*/
.tp_as_buffer = 0, /* tp_as_buffer*/
.tp_flags = Py_TPFLAGS_DEFAULT, /*tp_flags*/
.tp_doc = "AES decryption class", /* tp_doc */
.tp_traverse = 0, /* tp_traverse */
.tp_clear = 0, /* tp_clear */
.tp_richcompare = 0, /* tp_richcompare */
.tp_weaklistoffset = 0, /* tp_weaklistoffset */
.tp_iter = 0, /* tp_iter */
.tp_iternext = 0, /* tp_iternext */
.tp_methods = aesdecrypt_methods, /* tp_methods */
.tp_members = 0, /* tp_members */
.tp_getset = 0, /* tp_getset */
.tp_base = 0, /* tp_base */
.tp_dict = 0, /* tp_dict */
.tp_descr_get = 0, /* tp_descr_get */
.tp_descr_set = 0, /* tp_descr_set */
.tp_dictoffset = 0, /* tp_dictoffset */
.tp_init = (initproc)aesdecrypt_init, /* tp_init */
.tp_alloc = 0, /* tp_alloc */
.tp_new = 0, /* tp_new */
};
74 changes: 36 additions & 38 deletions src/pylzma/pylzma_compressfile.c
Original file line number Diff line number Diff line change
Expand Up @@ -226,42 +226,40 @@ pylzma_compfile_init(CCompressionFileObject *self, PyObject *args, PyObject *kwa

PyTypeObject
CCompressionFileObject_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
"pylzma.compressfile", /* char *tp_name; */
sizeof(CCompressionFileObject), /* int tp_basicsize; */
0, /* int tp_itemsize; // not used much */
(destructor)pylzma_compfile_dealloc, /* destructor tp_dealloc; */
NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; // __getattr__ */
NULL, /* setattrfunc tp_setattr; // __setattr__ */
NULL, /* cmpfunc tp_compare; // __cmp__ */
NULL, /* reprfunc tp_repr; // __repr__ */
NULL, /* PyNumberMethods *tp_as_number; */
NULL, /* PySequenceMethods *tp_as_sequence; */
NULL, /* PyMappingMethods *tp_as_mapping; */
NULL, /* hashfunc tp_hash; // __hash__ */
NULL, /* ternaryfunc tp_call; // __call__ */
NULL, /* reprfunc tp_str; // __str__ */
0, /* tp_getattro*/
0, /* tp_setattro*/
0, /* tp_as_buffer*/
Py_TPFLAGS_DEFAULT, /*tp_flags*/
"File compression class", /* tp_doc */
0, /* tp_traverse */
0, /* tp_clear */
0, /* tp_richcompare */
0, /* tp_weaklistoffset */
0, /* tp_iter */
0, /* tp_iternext */
pylzma_compfile_methods, /* tp_methods */
0, /* tp_members */
0, /* tp_getset */
0, /* tp_base */
0, /* tp_dict */
0, /* tp_descr_get */
0, /* tp_descr_set */
0, /* tp_dictoffset */
(initproc)pylzma_compfile_init, /* tp_init */
0, /* tp_alloc */
0, /* tp_new */
.ob_base = PyVarObject_HEAD_INIT(NULL, 0)
.tp_name = "pylzma.compressfile", /* char *tp_name; */
.tp_basicsize = sizeof(CCompressionFileObject), /* int tp_basicsize; */
.tp_itemsize = 0, /* int tp_itemsize; // not used much */
.tp_dealloc = (destructor)pylzma_compfile_dealloc, /* destructor tp_dealloc; */
.tp_getattr = NULL, /* getattrfunc tp_getattr; // __getattr__ */
.tp_setattr = NULL, /* setattrfunc tp_setattr; // __setattr__ */
.tp_repr = NULL, /* reprfunc tp_repr; // __repr__ */
.tp_as_number = NULL, /* PyNumberMethods *tp_as_number; */
.tp_as_sequence = NULL, /* PySequenceMethods *tp_as_sequence; */
.tp_as_mapping = NULL, /* PyMappingMethods *tp_as_mapping; */
.tp_hash = NULL, /* hashfunc tp_hash; // __hash__ */
.tp_call = NULL, /* ternaryfunc tp_call; // __call__ */
.tp_str = NULL, /* reprfunc tp_str; // __str__ */
.tp_getattro = 0, /* tp_getattro*/
.tp_setattro = 0, /* tp_setattro*/
.tp_as_buffer = 0, /* tp_as_buffer*/
.tp_flags = Py_TPFLAGS_DEFAULT, /*tp_flags*/
.tp_doc = "File compression class", /* tp_doc */
.tp_traverse = 0, /* tp_traverse */
.tp_clear = 0, /* tp_clear */
.tp_richcompare = 0, /* tp_richcompare */
.tp_weaklistoffset = 0, /* tp_weaklistoffset */
.tp_iter = 0, /* tp_iter */
.tp_iternext = 0, /* tp_iternext */
.tp_methods = pylzma_compfile_methods, /* tp_methods */
.tp_members = 0, /* tp_members */
.tp_getset = 0, /* tp_getset */
.tp_base = 0, /* tp_base */
.tp_dict = 0, /* tp_dict */
.tp_descr_get = 0, /* tp_descr_get */
.tp_descr_set = 0, /* tp_descr_set */
.tp_dictoffset = 0, /* tp_dictoffset */
.tp_init = (initproc)pylzma_compfile_init, /* tp_init */
.tp_alloc = 0, /* tp_alloc */
.tp_new = 0, /* tp_new */
};
74 changes: 36 additions & 38 deletions src/pylzma/pylzma_decompressobj.c
Original file line number Diff line number Diff line change
Expand Up @@ -377,42 +377,40 @@ pylzma_decomp_dealloc(CDecompressionObject *self)

PyTypeObject
CDecompressionObject_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
"pylzma.decompressobj", /* char *tp_name; */
sizeof(CDecompressionObject), /* int tp_basicsize; */
0, /* int tp_itemsize; // not used much */
(destructor)pylzma_decomp_dealloc, /* destructor tp_dealloc; */
NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; // __getattr__ */
NULL, /* setattrfunc tp_setattr; // __setattr__ */
NULL, /* cmpfunc tp_compare; // __cmp__ */
NULL, /* reprfunc tp_repr; // __repr__ */
NULL, /* PyNumberMethods *tp_as_number; */
NULL, /* PySequenceMethods *tp_as_sequence; */
NULL, /* PyMappingMethods *tp_as_mapping; */
NULL, /* hashfunc tp_hash; // __hash__ */
NULL, /* ternaryfunc tp_call; // __call__ */
NULL, /* reprfunc tp_str; // __str__ */
0, /* tp_getattro*/
0, /* tp_setattro*/
0, /* tp_as_buffer*/
Py_TPFLAGS_DEFAULT, /*tp_flags*/
"Decompression class", /* tp_doc */
0, /* tp_traverse */
0, /* tp_clear */
0, /* tp_richcompare */
0, /* tp_weaklistoffset */
0, /* tp_iter */
0, /* tp_iternext */
pylzma_decomp_methods, /* tp_methods */
0, /* tp_members */
0, /* tp_getset */
0, /* tp_base */
0, /* tp_dict */
0, /* tp_descr_get */
0, /* tp_descr_set */
0, /* tp_dictoffset */
(initproc)pylzma_decomp_init, /* tp_init */
0, /* tp_alloc */
0, /* tp_new */
.ob_base = PyVarObject_HEAD_INIT(NULL, 0)
.tp_name = "pylzma.decompressobj", /* char *tp_name; */
.tp_basicsize = sizeof(CDecompressionObject), /* int tp_basicsize; */
.tp_itemsize = 0, /* int tp_itemsize; // not used much */
.tp_dealloc = (destructor)pylzma_decomp_dealloc, /* destructor tp_dealloc; */
.tp_getattr = NULL, /* getattrfunc tp_getattr; // __getattr__ */
.tp_setattr = NULL, /* setattrfunc tp_setattr; // __setattr__ */
.tp_repr = NULL, /* reprfunc tp_repr; // __repr__ */
.tp_as_number = NULL, /* PyNumberMethods *tp_as_number; */
.tp_as_sequence = NULL, /* PySequenceMethods *tp_as_sequence; */
.tp_as_mapping = NULL, /* PyMappingMethods *tp_as_mapping; */
.tp_hash = NULL, /* hashfunc tp_hash; // __hash__ */
.tp_call = NULL, /* ternaryfunc tp_call; // __call__ */
.tp_str = NULL, /* reprfunc tp_str; // __str__ */
.tp_getattro = 0, /* tp_getattro*/
.tp_setattro = 0, /* tp_setattro*/
.tp_as_buffer = 0, /* tp_as_buffer*/
.tp_flags = Py_TPFLAGS_DEFAULT, /*tp_flags*/
.tp_doc = "Decompression class", /* tp_doc */
.tp_traverse = 0, /* tp_traverse */
.tp_clear = 0, /* tp_clear */
.tp_richcompare = 0, /* tp_richcompare */
.tp_weaklistoffset = 0, /* tp_weaklistoffset */
.tp_iter = 0, /* tp_iter */
.tp_iternext = 0, /* tp_iternext */
.tp_methods = pylzma_decomp_methods, /* tp_methods */
.tp_members = 0, /* tp_members */
.tp_getset = 0, /* tp_getset */
.tp_base = 0, /* tp_base */
.tp_dict = 0, /* tp_dict */
.tp_descr_get = 0, /* tp_descr_get */
.tp_descr_set = 0, /* tp_descr_set */
.tp_dictoffset = 0, /* tp_dictoffset */
.tp_init = (initproc)pylzma_decomp_init, /* tp_init */
.tp_alloc = 0, /* tp_alloc */
.tp_new = 0, /* tp_new */
};
Loading