Blame SOURCES/libieee1284-strict-aliasing.patch

02e9f0
diff -up libieee1284-0.2.11/src/ieee1284module.c.strict-aliasing libieee1284-0.2.11/src/ieee1284module.c
02e9f0
--- libieee1284-0.2.11/src/ieee1284module.c.strict-aliasing	2004-02-03 11:50:57.000000000 +0000
02e9f0
+++ libieee1284-0.2.11/src/ieee1284module.c	2010-06-23 12:36:05.093026807 +0100
02e9f0
@@ -28,6 +28,17 @@ typedef struct {
02e9f0
 	struct parport *port;
02e9f0
 } ParportObject;
02e9f0
 
02e9f0
+static PyObject *
02e9f0
+Parport_new (PyTypeObject *type, PyObject *args, PyObject *kwds)
02e9f0
+{
02e9f0
+  ParportObject *self;
02e9f0
+  self = (ParportObject *) type->tp_alloc (type, 0);
02e9f0
+  if (self != NULL)
02e9f0
+    self->port = NULL;
02e9f0
+
02e9f0
+  return (PyObject *) self;
02e9f0
+}
02e9f0
+
02e9f0
 static int
02e9f0
 Parport_init (ParportObject *self, PyObject *args, PyObject *kwds)
02e9f0
 {
02e9f0
@@ -562,6 +573,23 @@ static PyTypeObject ParportType = {
02e9f0
 	0,					/* tp_as_buffer */
02e9f0
 	Py_TPFLAGS_DEFAULT,			/* tp_flags */
02e9f0
 	"parallel port object",			/* tp_doc */
02e9f0
+	0,					/* tp_traverse */
02e9f0
+	0,					/* tp_clear */
02e9f0
+	0,					/* tp_richcompare */
02e9f0
+	0,					/* tp_weaklistoffset */
02e9f0
+	0,					/* tp_iter */
02e9f0
+	0,					/* tp_iternext */
02e9f0
+	Parport_methods,			/* tp_methods */
02e9f0
+	0,					/* tp_members */
02e9f0
+	Parport_getseters,			/* tp_getset */
02e9f0
+	0,					/* tp_base */
02e9f0
+	0,					/* tp_dict */
02e9f0
+	0,					/* tp_descr_get */
02e9f0
+	0,					/* tp_descr_set */
02e9f0
+	0,					/* tp_dictoffset */
02e9f0
+	(initproc)Parport_init,			/* tp_init */
02e9f0
+	0,					/* tp_alloc */
02e9f0
+	Parport_new,		                /* tp_new */
02e9f0
 };
02e9f0
 
02e9f0
 static PyObject *
02e9f0
@@ -625,14 +653,9 @@ initieee1284 (void)
02e9f0
 	PyObject *d = PyModule_GetDict (m);
02e9f0
 	PyObject *c;
02e9f0
 
02e9f0
-	ParportType.tp_new = PyType_GenericNew;
02e9f0
-	ParportType.tp_init = (initproc) Parport_init;
02e9f0
-	ParportType.tp_getset = Parport_getseters;
02e9f0
-	ParportType.tp_methods = Parport_methods;
02e9f0
 	if (PyType_Ready (&ParportType) < 0)
02e9f0
 		return;
02e9f0
 
02e9f0
-	Py_INCREF (&ParportType);
02e9f0
 	PyModule_AddObject (m, "Parport", (PyObject *) &ParportType);
02e9f0
 
02e9f0
 	pyieee1284_error = PyErr_NewException("ieee1284.error", NULL, NULL);