[Zodb-checkins] CVS: Zope2/lib/python/ZODB - cPersistence.c:1.42 cPersistence.h:1.16
jeremy@digicool.com
jeremy@digicool.com
Tue, 27 Mar 2001 19:34:35 -0500 (EST)
Update of /cvs-repository/Zope2/lib/python/ZODB
In directory korak:/tmp/cvs-serv21498
Modified Files:
cPersistence.c cPersistence.h
Log Message:
gcc -Wall cleanup
cPeristence.h:
remove unused #define
remove decl of cPersistenceCAPI from header and put in cPersistence.c
cPersistence.c:
remove several unused functions and decls
update K&R style func decls
make func decls prototypes when needed
add module doc string
Remove PyErr_Occurred() check from the end of the module,
following current best practice for Python.
--- Updated File cPersistence.c in package Zope2/lib/python/ZODB --
--- cPersistence.c 2001/03/27 23:00:40 1.41
+++ cPersistence.c 2001/03/28 00:34:34 1.42
@@ -82,7 +82,10 @@
attributions are listed in the accompanying credits file.
****************************************************************************/
-static char *what_string = "$Id$";
+static char cPersistence_doc_string[] =
+"Defines Persistent mixin class for persistent objects.\n"
+"\n"
+"$Id$\n";
#include <string.h>
#include "cPersistence.h"
@@ -92,6 +95,8 @@
#define UNLESS_ASSIGN(V,E) ASSIGN(V,E) UNLESS(V)
#define OBJECT(V) ((PyObject*)(V))
+static cPersistenceCAPIstruct *cPersistenceCAPI;
+
static PyObject *py_keys, *py_setstate, *py___dict__, *py_timeTime;
static PyObject *py__p_changed, *py__p_deactivate;
static PyObject *py___getattr__, *py___setattr__, *py___delattr__;
@@ -118,7 +123,7 @@
#endif
static void
-init_strings()
+init_strings(void)
{
#define INIT_STRING(S) py_ ## S = PyString_FromString(#S)
INIT_STRING(keys);
@@ -136,7 +141,8 @@
static PyObject *
callmethod(PyObject *self, PyObject *name)
{
- if(self=PyObject_GetAttr(self,name))
+ self=PyObject_GetAttr(self,name);
+ if(self)
ASSIGN(self,PyObject_CallObject(self,NULL));
return self;
}
@@ -154,39 +160,6 @@
return self;
}
-static PyObject *
-callmethod2(PyObject *self, PyObject *name, PyObject *arg, PyObject *arg2)
-{
- if((self=PyObject_GetAttr(self,name)) && (name=PyTuple_New(2)))
- {
- PyTuple_SET_ITEM(name, 0, arg);
- PyTuple_SET_ITEM(name, 1, arg2);
- ASSIGN(self,PyObject_CallObject(self,name));
- PyTuple_SET_ITEM(name, 0, NULL);
- PyTuple_SET_ITEM(name, 1, NULL);
- Py_DECREF(name);
- }
- return self;
-}
-
-static PyObject *
-callmethod3(PyObject *self, PyObject *name,
- PyObject *arg, PyObject *arg2, PyObject *arg3)
-{
- if((self=PyObject_GetAttr(self,name)) && (name=PyTuple_New(3)))
- {
- PyTuple_SET_ITEM(name, 0, arg);
- PyTuple_SET_ITEM(name, 1, arg2);
- PyTuple_SET_ITEM(name, 2, arg3);
- ASSIGN(self,PyObject_CallObject(self,name));
- PyTuple_SET_ITEM(name, 0, NULL);
- PyTuple_SET_ITEM(name, 1, NULL);
- PyTuple_SET_ITEM(name, 2, NULL);
- Py_DECREF(name);
- }
- return self;
-}
-
#define UPDATE_STATE_IF_NECESSARY(self, ER) \
if(self->state < 0 && self->jar) \
{ \
@@ -203,43 +176,9 @@
}
-static PyObject *
-#ifdef HAVE_STDARG_PROTOTYPES
-/* VARARGS 2 */
-PyString_BuildFormat(char *stringformat, char *format, ...)
-#else
-/* VARARGS */
-PyString_BuildFormat(va_alist) va_dcl
-#endif
-{
- va_list va;
- PyObject *args=0, *retval=0, *v=0;
-#ifdef HAVE_STDARG_PROTOTYPES
- va_start(va, format);
-#else
- PyObject *ErrType;
- char *stringformat, *format;
- va_start(va);
- ErrType = va_arg(va, PyObject *);
- stringformat = va_arg(va, char *);
- format = va_arg(va, char *);
-#endif
-
- args = Py_VaBuildValue(format, va);
- va_end(va);
- if(! args) return NULL;
- if(!(retval=PyString_FromString(stringformat))) return NULL;
-
- v=PyString_Format(retval, args);
- Py_DECREF(retval);
- Py_DECREF(args);
- return v;
-}
-
/****************************************************************************/
staticforward PyExtensionClass Pertype;
-staticforward PyExtensionClass TPertype;
static int
changed(cPersistentObject *self)
@@ -299,7 +238,7 @@
static PyObject *
Per__p_deactivate(cPersistentObject *self, PyObject *args)
{
- PyObject *init=0, *dict;
+ PyObject *dict;
#ifdef DEBUG_LOG
if (idebug_log < 0) call_debug("reinit",self);
@@ -331,9 +270,7 @@
}
static PyObject *
-Per__getstate__(self,args)
- cPersistentObject *self;
- PyObject *args;
+Per__getstate__(cPersistentObject *self, PyObject *args)
{
PyObject *__dict__, *d=0;
@@ -377,9 +314,7 @@
}
static PyObject *
-Per__setstate__(self,args)
- cPersistentObject *self;
- PyObject *args;
+Per__setstate__(cPersistentObject *self, PyObject *args)
{
PyObject *__dict__, *v, *keys=0, *key=0, *e=0;
int l, i;
@@ -445,8 +380,7 @@
/* ---------- */
static void
-Per_dealloc(self)
- cPersistentObject *self;
+Per_dealloc(cPersistentObject *self)
{
#ifdef DEBUG_LOG
if(idebug_log < 0) call_debug("del",self);
@@ -570,14 +504,6 @@
return r;
}
-static int
-bad_delattr()
-{
- PyErr_SetString(PyExc_AttributeError,
- "delete undeletable attribute");
- return -1;
-}
-
static int
_setattro(cPersistentObject *self, PyObject *oname, PyObject *v,
int (*setattrf)(PyObject *, PyObject*, PyObject*))
@@ -632,8 +558,8 @@
if (v==Py_None)
{
v=PyObject_GetAttr(OBJECT(self), py__p_deactivate);
- if (v) ASSIGN(v, PyObject_CallObject(v, NULL));
- if (v) Py_DECREF(v);
+ if (v) { ASSIGN(v, PyObject_CallObject(v, NULL)); }
+ if (v) { Py_DECREF(v); }
self->state=cPersistent_GHOST_STATE;
return 0;
}
@@ -811,24 +737,30 @@
};
void
-initcPersistence()
+initcPersistence(void)
{
- PyObject *m, *d;
+ PyObject *m, *d, *s;
char *rev="$Revision$";
- TimeStamp=PyString_FromString("TimeStamp");
- if (! TimeStamp) return;
- ASSIGN(TimeStamp, PyImport_Import(TimeStamp));
- if (! TimeStamp) return;
- ASSIGN(TimeStamp, PyObject_GetAttrString(TimeStamp, "TimeStamp"));
- if (! TimeStamp) return;
-
- m = Py_InitModule4("cPersistence", cP_methods,
- "",
- (PyObject*)NULL,PYTHON_API_VERSION);
+ s = PyString_FromString("TimeStamp");
+ if (s == NULL)
+ return;
+ m = PyImport_Import(s);
+ if (m == NULL) {
+ Py_DECREF(s);
+ return;
+ }
+ TimeStamp = PyObject_GetAttr(m, s);
+ Py_DECREF(m);
+ if (TimeStamp == NULL) {
+ Py_DECREF(s);
+ }
- init_strings();
+ m = Py_InitModule4("cPersistence", cP_methods, cPersistence_doc_string,
+ (PyObject*)NULL, PYTHON_API_VERSION);
+ init_strings();
+
d = PyModule_GetDict(m);
PyDict_SetItemString(d,"__version__",
PyString_FromStringAndSize(rev+11,strlen(rev+11)-2));
@@ -838,7 +770,4 @@
cPersistenceCAPI=&truecPersistenceCAPI;
PyDict_SetItemString(d, "CAPI",
PyCObject_FromVoidPtr(cPersistenceCAPI,NULL));
-
- if (PyErr_Occurred())
- Py_FatalError("can't initialize module cDocumentTemplate");
}
--- Updated File cPersistence.h in package Zope2/lib/python/ZODB --
--- cPersistence.h 2000/05/16 17:31:13 1.15
+++ cPersistence.h 2001/03/28 00:34:34 1.16
@@ -112,10 +112,6 @@
persetattr persetattro;
} cPersistenceCAPIstruct;
-static cPersistenceCAPIstruct *cPersistenceCAPI;
-
-#define cPersistanceModuleName "cPersistence"
-
#define PERSISTENT_TYPE_FLAG EXTENSIONCLASS_USER_FLAG8
/* ExtensionClass class flags for persistent base classes should