summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFederico Di Gregorio <fog@initd.org>2005-10-18 01:29:47 +0000
committerFederico Di Gregorio <fog@initd.org>2005-10-18 01:29:47 +0000
commit6b0b634baec7d3b9a20ed1b6b39ee6f1400cd341 (patch)
tree8ad28db0403f169fe52ef9b21bf0d98fea465abe
parenta1ed1fb26741e1e1479a7287ed2713b956d6030f (diff)
downloadpsycopg2-6b0b634baec7d3b9a20ed1b6b39ee6f1400cd341.tar.gz
Code cleanup.
-rw-r--r--ChangeLog4
-rw-r--r--NEWS7
-rw-r--r--psycopg/adapter_asis.c6
-rw-r--r--psycopg/adapter_binary.c6
-rw-r--r--psycopg/adapter_datetime.c7
-rw-r--r--psycopg/adapter_list.c6
-rw-r--r--psycopg/adapter_mxdatetime.c7
-rw-r--r--psycopg/adapter_pboolean.c7
-rw-r--r--psycopg/adapter_qstring.c7
-rw-r--r--psycopg/connection_type.c8
-rw-r--r--psycopg/cursor_type.c4
-rw-r--r--psycopg/microprotocols_proto.c2
-rw-r--r--psycopg/psycopgmodule.c36
-rw-r--r--psycopg/typecast.c6
-rw-r--r--psycopg/typecast.h4
-rw-r--r--psycopg/typecast_array.c14
-rw-r--r--psycopg/typecast_basic.c22
-rw-r--r--psycopg/typecast_binary.c8
-rw-r--r--psycopg/typecast_datetime.c8
-rw-r--r--psycopg/typecast_mxdatetime.c6
20 files changed, 95 insertions, 80 deletions
diff --git a/ChangeLog b/ChangeLog
index 6b93fc1..59f16df 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2005-10-18 Federico Di Gregorio <fog@initd.org>
+ * Big cleanup of unsigned chars to tame gcc 4.
+
+ * Big cleanup of module names (i.e., psycopg2._psycopg everywhere.)
+
* psycopg/config.h: added fake localtime_r for platforms missing it
* psycopg/cursor_type.c: cursors now have a FixedOffsetTimezone
diff --git a/NEWS b/NEWS
index 27ddd05..2fdfe3c 100644
--- a/NEWS
+++ b/NEWS
@@ -13,7 +13,12 @@ What's new in psycopg 2.0 rc 1
* Better docstrings for a few functions/methods.
* Some time-related functions like psycopg2.TimeFromTicks() now take the
- local timezone into account.
+ local timezone into account. Also a tzinfo object (as per datetime module
+ specifications) can be passed to the psycopg2.Time and psycopg2.Datetime
+ constructors.
+
+* All classes have been renamed to exist in the psycopg2._psycopg module,
+ to fix problems with automatic documentation generators like epydoc.
What's new in psycopg 2.0 beta 4
--------------------------------
diff --git a/psycopg/adapter_asis.c b/psycopg/adapter_asis.c
index cd77383..75ee0e4 100644
--- a/psycopg/adapter_asis.c
+++ b/psycopg/adapter_asis.c
@@ -140,19 +140,19 @@ asis_del(PyObject* self)
static PyObject *
asis_repr(asisObject *self)
{
- return PyString_FromFormat("<psycopg.AsIs object at %p>", self);
+ return PyString_FromFormat("<psycopg2._psycopg.AsIs object at %p>", self);
}
/* object type */
#define asisType_doc \
-"psycopg.AsIs(str) -> new AsIs adapter object"
+"AsIs(str) -> new AsIs adapter object"
PyTypeObject asisType = {
PyObject_HEAD_INIT(NULL)
0,
- "psycopg._psycopg.AsIs",
+ "psycopg2._psycopg.AsIs",
sizeof(asisObject),
0,
asis_dealloc, /*tp_dealloc*/
diff --git a/psycopg/adapter_binary.c b/psycopg/adapter_binary.c
index 83656a9..48ab975 100644
--- a/psycopg/adapter_binary.c
+++ b/psycopg/adapter_binary.c
@@ -257,18 +257,18 @@ binary_del(PyObject* self)
static PyObject *
binary_repr(binaryObject *self)
{
- return PyString_FromFormat("<psycopg.Binary object at %p>", self);
+ return PyString_FromFormat("<psycopg2._psycopg.Binary object at %p>", self);
}
/* object type */
#define binaryType_doc \
-"psycopg.Binary(buffer) -> new binary object"
+"Binary(buffer) -> new binary object"
PyTypeObject binaryType = {
PyObject_HEAD_INIT(NULL)
0,
- "psycopg._psycopg.Binary",
+ "psycopg2._psycopg.Binary",
sizeof(binaryObject),
0,
binary_dealloc, /*tp_dealloc*/
diff --git a/psycopg/adapter_datetime.c b/psycopg/adapter_datetime.c
index 8443df9..5079638 100644
--- a/psycopg/adapter_datetime.c
+++ b/psycopg/adapter_datetime.c
@@ -178,18 +178,19 @@ pydatetime_del(PyObject* self)
static PyObject *
pydatetime_repr(pydatetimeObject *self)
{
- return PyString_FromFormat("<psycopg.datetime object at %p>", self);
+ return PyString_FromFormat("<psycopg2._psycopg.datetime object at %p>",
+ self);
}
/* object type */
#define pydatetimeType_doc \
-"psycopg.Pydatetime(datetime, type) -> new datetime wrapper object"
+"datetime(datetime, type) -> new datetime wrapper object"
PyTypeObject pydatetimeType = {
PyObject_HEAD_INIT(NULL)
0,
- "psycopg._psycopg.datetime",
+ "psycopg2._psycopg.datetime",
sizeof(pydatetimeObject),
0,
pydatetime_dealloc, /*tp_dealloc*/
diff --git a/psycopg/adapter_list.c b/psycopg/adapter_list.c
index 5d80356..d03626d 100644
--- a/psycopg/adapter_list.c
+++ b/psycopg/adapter_list.c
@@ -212,18 +212,18 @@ list_del(PyObject* self)
static PyObject *
list_repr(listObject *self)
{
- return PyString_FromFormat("<psycopg.list object at %p>", self);
+ return PyString_FromFormat("<psycopg2._psycopg.List object at %p>", self);
}
/* object type */
#define listType_doc \
-"psycopg.List(list) -> new list wrapper object"
+"List(list) -> new list wrapper object"
PyTypeObject listType = {
PyObject_HEAD_INIT(NULL)
0,
- "psycopg._psycopg.datetime",
+ "psycopg2._psycopg.List",
sizeof(listObject),
0,
list_dealloc, /*tp_dealloc*/
diff --git a/psycopg/adapter_mxdatetime.c b/psycopg/adapter_mxdatetime.c
index 7ae8ee7..f6547f4 100644
--- a/psycopg/adapter_mxdatetime.c
+++ b/psycopg/adapter_mxdatetime.c
@@ -177,18 +177,19 @@ mxdatetime_del(PyObject* self)
static PyObject *
mxdatetime_repr(mxdatetimeObject *self)
{
- return PyString_FromFormat("<psycopg.MxDateTime object at %p>", self);
+ return PyString_FromFormat("<psycopg2._psycopg.MxDateTime object at %p>",
+ self);
}
/* object type */
#define mxdatetimeType_doc \
-"psycopg.MxDateTime(mx, type) -> new mx.DateTime wrapper object"
+"MxDateTime(mx, type) -> new mx.DateTime wrapper object"
PyTypeObject mxdatetimeType = {
PyObject_HEAD_INIT(NULL)
0,
- "psycopg._psycopg.MxDateTime",
+ "psycopg2._psycopg.MxDateTime",
sizeof(mxdatetimeObject),
0,
mxdatetime_dealloc, /*tp_dealloc*/
diff --git a/psycopg/adapter_pboolean.c b/psycopg/adapter_pboolean.c
index 3f93b05..35e534a 100644
--- a/psycopg/adapter_pboolean.c
+++ b/psycopg/adapter_pboolean.c
@@ -141,19 +141,20 @@ pboolean_del(PyObject* self)
static PyObject *
pboolean_repr(pbooleanObject *self)
{
- return PyString_FromFormat("<psycopg.Boolean object at %p>", self);
+ return PyString_FromFormat("<psycopg2._psycopg.Boolean object at %p>",
+ self);
}
/* object type */
#define pbooleanType_doc \
-"psycopg.Boolean(str) -> new Boolean adapter object"
+"Boolean(str) -> new Boolean adapter object"
PyTypeObject pbooleanType = {
PyObject_HEAD_INIT(NULL)
0,
- "psycopg._psycopg.Boolean",
+ "psycopg2._psycopg.Boolean",
sizeof(pbooleanObject),
0,
pboolean_dealloc, /*tp_dealloc*/
diff --git a/psycopg/adapter_qstring.c b/psycopg/adapter_qstring.c
index c5c7aa5..788d9c2 100644
--- a/psycopg/adapter_qstring.c
+++ b/psycopg/adapter_qstring.c
@@ -285,18 +285,19 @@ qstring_del(PyObject* self)
static PyObject *
qstring_repr(qstringObject *self)
{
- return PyString_FromFormat("<psycopg.QuotedString object at %p>", self);
+ return PyString_FromFormat("<psycopg2._psycopg.QuotedString object at %p>",
+ self);
}
/* object type */
#define qstringType_doc \
-"psycopg.QuotedString(str, enc) -> new quoted object with 'enc' encoding"
+"QuotedString(str, enc) -> new quoted object with 'enc' encoding"
PyTypeObject qstringType = {
PyObject_HEAD_INIT(NULL)
0,
- "psycopg._psycopg.QuotedString",
+ "psycopg2._psycopg.QuotedString",
sizeof(qstringObject),
0,
qstring_dealloc, /*tp_dealloc*/
diff --git a/psycopg/connection_type.c b/psycopg/connection_type.c
index 7a32b8b..7830008 100644
--- a/psycopg/connection_type.c
+++ b/psycopg/connection_type.c
@@ -37,11 +37,11 @@
/* cursor method - allocate a new cursor */
#define psyco_conn_cursor_doc \
-"cursor(cursor_factory=psycopg.cursor) -> new cursor\n\n" \
+"cursor(cursor_factory=psycopg2.extensions.cursor) -> new cursor\n\n" \
"Return a new cursor. The 'cursor_factory' argument can be used to\n" \
"create non-standard cursors by passing a class different from the\n" \
"default. Note that the new class *should* be a sub-class of\n" \
-"'psycopg2.cursor'.\n"
+"'psycopg2.extensions.cursor'.\n"
static PyObject *
psyco_conn_cursor(connectionObject *self, PyObject *args, PyObject *keywds)
@@ -71,7 +71,6 @@ psyco_conn_cursor(connectionObject *self, PyObject *args, PyObject *keywds)
return obj;
}
-
/* close method - close the connection and all related cursors */
@@ -92,7 +91,6 @@ psyco_conn_close(connectionObject *self, PyObject *args)
return Py_None;
}
-
/* commit method - commit all changes to the database */
@@ -335,7 +333,7 @@ connection_repr(connectionObject *self)
PyTypeObject connectionType = {
PyObject_HEAD_INIT(NULL)
0,
- "psycopg._psycopg.connection",
+ "psycopg2._psycopg.connection",
sizeof(connectionObject),
0,
connection_dealloc, /*tp_dealloc*/
diff --git a/psycopg/cursor_type.c b/psycopg/cursor_type.c
index 64e43f0..cfee021 100644
--- a/psycopg/cursor_type.c
+++ b/psycopg/cursor_type.c
@@ -596,7 +596,7 @@ _psyco_curs_buildrow_fill(cursorObject *self, PyObject *res,
Dprintf("_psyco_curs_buildrow: row %ld, element %d, len %i",
self->row, i, len);
- val = typecast_cast(PyTuple_GET_ITEM(self->casts, i), str, len,
+ val = typecast_cast(PyTuple_GET_ITEM(self->casts, i), (char*)str, len,
(PyObject*)self);
if (val) {
@@ -1331,7 +1331,7 @@ cursor_repr(cursorObject *self)
PyTypeObject cursorType = {
PyObject_HEAD_INIT(NULL)
0,
- "psycopg._psycopg.cursor",
+ "psycopg2._psycopg.cursor",
sizeof(cursorObject),
0,
cursor_dealloc, /*tp_dealloc*/
diff --git a/psycopg/microprotocols_proto.c b/psycopg/microprotocols_proto.c
index cfd3c32..a7934bb 100644
--- a/psycopg/microprotocols_proto.c
+++ b/psycopg/microprotocols_proto.c
@@ -157,7 +157,7 @@ isqlquote_del(PyObject* self)
PyTypeObject isqlquoteType = {
PyObject_HEAD_INIT(NULL)
0,
- "psycopg._psycopg.ISQLQuote",
+ "psycopg2._psycopg.ISQLQuote",
sizeof(isqlquoteObject),
0,
isqlquote_dealloc, /*tp_dealloc*/
diff --git a/psycopg/psycopgmodule.c b/psycopg/psycopgmodule.c
index 31d16f9..493a6f1 100644
--- a/psycopg/psycopgmodule.c
+++ b/psycopg/psycopgmodule.c
@@ -295,23 +295,27 @@ PyObject *Error, *Warning, *InterfaceError, *DatabaseError,
static void
psyco_errors_init(void)
{
- Error = PyErr_NewException("psycopg.Error", PyExc_StandardError, NULL);
- Warning = PyErr_NewException("psycopg.Warning", PyExc_StandardError,NULL);
- InterfaceError = PyErr_NewException("psycopg.InterfaceError", Error, NULL);
- DatabaseError = PyErr_NewException("psycopg.DatabaseError", Error, NULL);
-
- InternalError =
- PyErr_NewException("psycopg.InternalError", DatabaseError, NULL);
- OperationalError =
- PyErr_NewException("psycopg.OperationalError", DatabaseError, NULL);
- ProgrammingError =
- PyErr_NewException("psycopg.ProgrammingError", DatabaseError, NULL);
- IntegrityError =
- PyErr_NewException("psycopg.IntegrityError", DatabaseError,NULL);
- DataError =
- PyErr_NewException("psycopg.DataError", DatabaseError, NULL);
+ Error = PyErr_NewException("psycopg2._psycopg.Error",
+ PyExc_StandardError, NULL);
+ Warning = PyErr_NewException("psycopg2._psycopg.Warning",
+ PyExc_StandardError,NULL);
+ InterfaceError = PyErr_NewException("psycopg2._psycopg.InterfaceError",
+ Error, NULL);
+ DatabaseError = PyErr_NewException("psycopg2._psycopg.DatabaseError",
+ Error, NULL);
+ InternalError = PyErr_NewException("psycopg2._psycopg.InternalError",
+ DatabaseError, NULL);
+ OperationalError = PyErr_NewException("psycopg2._psycopg.OperationalError",
+ DatabaseError, NULL);
+ ProgrammingError = PyErr_NewException("psycopg2._psycopg.ProgrammingError",
+ DatabaseError, NULL);
+ IntegrityError = PyErr_NewException("psycopg2._psycopg.IntegrityError",
+ DatabaseError,NULL);
+ DataError = PyErr_NewException("psycopg2._psycopg.DataError",
+ DatabaseError, NULL);
NotSupportedError =
- PyErr_NewException("psycopg.NotSupportedError", DatabaseError, NULL);
+ PyErr_NewException("psycopg2._psycopg.NotSupportedError",
+ DatabaseError, NULL);
}
void
diff --git a/psycopg/typecast.c b/psycopg/typecast.c
index a07df2c..1bb3da3 100644
--- a/psycopg/typecast.c
+++ b/psycopg/typecast.c
@@ -52,9 +52,9 @@ skip_until_space(char *s)
#endif
#include "psycopg/typecast_array.c"
-
#include "psycopg/typecast_builtins.c"
+
/* a list of initializers, used to make the typecasters accessible anyway */
#ifdef HAVE_PYDATETIME
typecastObject_initlist typecast_pydatetime[] = {
@@ -325,7 +325,7 @@ PyTypeObject typecastType = {
PyObject_HEAD_INIT(NULL)
0, /*ob_size*/
- "psycopg.type", /*tp_name*/
+ "psycopg2._psycopg.type", /*tp_name*/
sizeof(typecastObject), /*tp_basicsize*/
0, /*tp_itemsize*/
@@ -440,7 +440,7 @@ typecast_from_c(typecastObject_initlist *type, PyObject *dict)
}
PyObject *
-typecast_cast(PyObject *obj, unsigned char *str, int len, PyObject *curs)
+typecast_cast(PyObject *obj, char *str, int len, PyObject *curs)
{
PyObject *old, *res = NULL;
typecastObject *self = (typecastObject *)obj;
diff --git a/psycopg/typecast.h b/psycopg/typecast.h
index 6bc159b..ec77e5c 100644
--- a/psycopg/typecast.h
+++ b/psycopg/typecast.h
@@ -29,7 +29,7 @@ extern "C" {
#endif
/* type of type-casting functions (both C and Python) */
-typedef PyObject *(*typecast_function)(unsigned char *, int len, PyObject *);
+typedef PyObject *(*typecast_function)(char *, int len, PyObject *);
/** typecast type **/
@@ -80,6 +80,6 @@ extern PyObject *typecast_from_python(
/* the function used to dispatch typecasting calls */
extern PyObject *typecast_cast(
- PyObject *self, unsigned char *str, int len, PyObject *curs);
+ PyObject *self, char *str, int len, PyObject *curs);
#endif /* !defined(PSYCOPG_TYPECAST_H) */
diff --git a/psycopg/typecast_array.c b/psycopg/typecast_array.c
index 130d61f..2e34a3e 100644
--- a/psycopg/typecast_array.c
+++ b/psycopg/typecast_array.c
@@ -32,8 +32,8 @@
#define ASCAN_QUOTED 4
static int
-typecast_array_tokenize(unsigned char *str, int strlength,
- int *pos, unsigned char** token, int *length)
+typecast_array_tokenize(char *str, int strlength,
+ int *pos, char** token, int *length)
{
/* FORTRAN glory */
int i, j, q, b, l, res;
@@ -103,7 +103,7 @@ typecast_array_tokenize(unsigned char *str, int strlength,
}
if (res == ASCAN_QUOTED) {
- unsigned char *buffer = PyMem_Malloc(l+1);
+ char *buffer = PyMem_Malloc(l+1);
if (buffer == NULL) return ASCAN_ERROR;
*token = buffer;
@@ -131,11 +131,11 @@ typecast_array_tokenize(unsigned char *str, int strlength,
}
static int
-typecast_array_scan(unsigned char *str, int strlength,
+typecast_array_scan(char *str, int strlength,
PyObject *curs, PyObject *base, PyObject *array)
{
- int state, length, pos = 0;
- unsigned char *token;
+ int state, length = 0, pos = 0;
+ char *token;
PyObject *stack[MAX_DIMENSIONS];
int stack_index = 0;
@@ -192,7 +192,7 @@ typecast_array_scan(unsigned char *str, int strlength,
have to be taken on the single items **/
static PyObject *
-typecast_GENERIC_ARRAY_cast(unsigned char *str, int len, PyObject *curs)
+typecast_GENERIC_ARRAY_cast(char *str, int len, PyObject *curs)
{
PyObject *obj = NULL;
PyObject *base = ((typecastObject*)((cursorObject*)curs)->caster)->bcast;
diff --git a/psycopg/typecast_basic.c b/psycopg/typecast_basic.c
index c5d55e9..d3ebb0f 100644
--- a/psycopg/typecast_basic.c
+++ b/psycopg/typecast_basic.c
@@ -22,9 +22,9 @@
/** INTEGER - cast normal integers (4 bytes) to python int **/
static PyObject *
-typecast_INTEGER_cast(unsigned char *s, int len, PyObject *curs)
+typecast_INTEGER_cast(char *s, int len, PyObject *curs)
{
- unsigned char buffer[12];
+ char buffer[12];
if (s == NULL) {Py_INCREF(Py_None); return Py_None;}
if (s[len] != '\0') {
@@ -37,9 +37,9 @@ typecast_INTEGER_cast(unsigned char *s, int len, PyObject *curs)
/** LONGINTEGER - cast long integers (8 bytes) to python long **/
static PyObject *
-typecast_LONGINTEGER_cast(unsigned char *s, int len, PyObject *curs)
+typecast_LONGINTEGER_cast(char *s, int len, PyObject *curs)
{
- unsigned char buffer[24];
+ char buffer[24];
if (s == NULL) {Py_INCREF(Py_None); return Py_None;}
if (s[len] != '\0') {
@@ -52,10 +52,10 @@ typecast_LONGINTEGER_cast(unsigned char *s, int len, PyObject *curs)
/** FLOAT - cast floating point numbers to python float **/
static PyObject *
-typecast_FLOAT_cast(unsigned char *s, int len, PyObject *curs)
+typecast_FLOAT_cast(char *s, int len, PyObject *curs)
{
/* FIXME: is 64 large enough for any float? */
- unsigned char buffer[64];
+ char buffer[64];
if (s == NULL) {Py_INCREF(Py_None); return Py_None;}
if (s[len] != '\0') {
@@ -68,7 +68,7 @@ typecast_FLOAT_cast(unsigned char *s, int len, PyObject *curs)
/** STRING - cast strings of any type to python string **/
static PyObject *
-typecast_STRING_cast(unsigned char *s, int len, PyObject *curs)
+typecast_STRING_cast(char *s, int len, PyObject *curs)
{
if (s == NULL) {Py_INCREF(Py_None); return Py_None;}
return PyString_FromStringAndSize(s, len);
@@ -77,7 +77,7 @@ typecast_STRING_cast(unsigned char *s, int len, PyObject *curs)
/** UNICODE - cast strings of any type to a python unicode object **/
static PyObject *
-typecast_UNICODE_cast(unsigned char *s, int len, PyObject *curs)
+typecast_UNICODE_cast(char *s, int len, PyObject *curs)
{
PyObject *enc;
@@ -99,7 +99,7 @@ typecast_UNICODE_cast(unsigned char *s, int len, PyObject *curs)
/** BOOLEAN - cast boolean value into right python object **/
static PyObject *
-typecast_BOOLEAN_cast(unsigned char *s, int len, PyObject *curs)
+typecast_BOOLEAN_cast(char *s, int len, PyObject *curs)
{
PyObject *res;
@@ -118,10 +118,10 @@ typecast_BOOLEAN_cast(unsigned char *s, int len, PyObject *curs)
#ifdef HAVE_DECIMAL
static PyObject *
-typecast_DECIMAL_cast(unsigned char *s, int len, PyObject *curs)
+typecast_DECIMAL_cast(char *s, int len, PyObject *curs)
{
PyObject *res = NULL;
- unsigned char *buffer;
+ char *buffer;
if (s == NULL) {Py_INCREF(Py_None); return Py_None;}
diff --git a/psycopg/typecast_binary.c b/psycopg/typecast_binary.c
index bc2ad60..d490bc7 100644
--- a/psycopg/typecast_binary.c
+++ b/psycopg/typecast_binary.c
@@ -80,7 +80,7 @@ static PyBufferProcs chunk_as_buffer =
PyTypeObject chunkType = {
PyObject_HEAD_INIT(NULL)
0, /* ob_size */
- "psycopg._psycopg.chunk", /* tp_name */
+ "psycopg2._psycopg.chunk", /* tp_name */
sizeof(chunkObject), /* tp_basicsize */
0, /* tp_itemsize */
(destructor) chunk_dealloc, /* tp_dealloc*/
@@ -152,11 +152,11 @@ typecast_BINARY_cast_unescape(unsigned char *str, size_t *to_length)
#endif
static PyObject *
-typecast_BINARY_cast(unsigned char *s, int l, PyObject *curs)
+typecast_BINARY_cast(char *s, int l, PyObject *curs)
{
chunkObject *chunk;
PyObject *res;
- unsigned char *str, *buffer = NULL;
+ char *str, *buffer = NULL;
size_t len;
if (s == NULL) {Py_INCREF(Py_None); return Py_None;}
@@ -171,7 +171,7 @@ typecast_BINARY_cast(unsigned char *s, int l, PyObject *curs)
buffer[l] = '\0';
s = buffer;
}
- str = PQunescapeBytea(s, &len);
+ str = (char*)PQunescapeBytea((unsigned char*)s, &len);
Dprintf("typecast_BINARY_cast: unescaped %d bytes", len);
if (buffer) PyMem_Free(buffer);
diff --git a/psycopg/typecast_datetime.c b/psycopg/typecast_datetime.c
index 7ce9fb4..40c80f3 100644
--- a/psycopg/typecast_datetime.c
+++ b/psycopg/typecast_datetime.c
@@ -34,7 +34,7 @@ extern PyObject *pyDeltaTypeP;
/** DATE - cast a date into a date python object **/
static PyObject *
-typecast_PYDATE_cast(unsigned char *str, int len, PyObject *curs)
+typecast_PYDATE_cast(char *str, int len, PyObject *curs)
{
PyObject* obj = NULL;
int n, y=0, m=0, d=0;
@@ -67,7 +67,7 @@ typecast_PYDATE_cast(unsigned char *str, int len, PyObject *curs)
/** DATETIME - cast a timestamp into a datetime python object **/
static PyObject *
-typecast_PYDATETIME_cast(unsigned char *str, int len, PyObject *curs)
+typecast_PYDATETIME_cast(char *str, int len, PyObject *curs)
{
PyObject* obj = NULL;
int n, y=0, m=0, d=0;
@@ -131,7 +131,7 @@ typecast_PYDATETIME_cast(unsigned char *str, int len, PyObject *curs)
/** TIME - parse time into a time object **/
static PyObject *
-typecast_PYTIME_cast(unsigned char *str, int len, PyObject *curs)
+typecast_PYTIME_cast(char *str, int len, PyObject *curs)
{
PyObject* obj = NULL;
int n, hh=0, mm=0;
@@ -160,7 +160,7 @@ typecast_PYTIME_cast(unsigned char *str, int len, PyObject *curs)
/** INTERVAL - parse an interval into a timedelta object **/
static PyObject *
-typecast_PYINTERVAL_cast(unsigned char *str, int len, PyObject *curs)
+typecast_PYINTERVAL_cast(char *str, int len, PyObject *curs)
{
long years = 0, months = 0, days = 0;
double hours = 0.0, minutes = 0.0, seconds = 0.0, hundredths = 0.0;
diff --git a/psycopg/typecast_mxdatetime.c b/psycopg/typecast_mxdatetime.c
index 6dd73a9..b71a15e 100644
--- a/psycopg/typecast_mxdatetime.c
+++ b/psycopg/typecast_mxdatetime.c
@@ -28,7 +28,7 @@ extern mxDateTimeModule_APIObject *mxDateTimeP;
/** DATE - cast a date into mx.DateTime python object **/
static PyObject *
-typecast_MXDATE_cast(unsigned char *str, int len, PyObject *curs)
+typecast_MXDATE_cast(char *str, int len, PyObject *curs)
{
int n, y=0, m=0, d=0;
int hh=0, mm=0;
@@ -60,7 +60,7 @@ typecast_MXDATE_cast(unsigned char *str, int len, PyObject *curs)
/** TIME - parse time into an mx.DateTime object **/
static PyObject *
-typecast_MXTIME_cast(unsigned char *str, int len, PyObject *curs)
+typecast_MXTIME_cast(char *str, int len, PyObject *curs)
{
int n, hh=0, mm=0;
double ss=0.0;
@@ -84,7 +84,7 @@ typecast_MXTIME_cast(unsigned char *str, int len, PyObject *curs)
/** INTERVAL - parse an interval into an mx.DateTimeDelta **/
static PyObject *
-typecast_MXINTERVAL_cast(unsigned char *str, int len, PyObject *curs)
+typecast_MXINTERVAL_cast(char *str, int len, PyObject *curs)
{
long years = 0, months = 0, days = 0, denominator = 1;
double hours = 0.0, minutes = 0.0, seconds = 0.0, hundredths = 0.0;