diff -Nur libdbi-0.8.3-old/include/dbi/dbd.h libdbi-0.8.3/include/dbi/dbd.h --- libdbi-0.8.3-old/include/dbi/dbd.h 2005-08-15 21:18:18.000000000 +0200 +++ libdbi-0.8.3/include/dbi/dbd.h 2008-10-05 15:57:24.889982668 +0200 @@ -52,7 +52,7 @@ size_t dbd_quote_binary(dbi_conn_t *conn, const unsigned char *orig, size_t from_length, unsigned char **ptr_dest); size_t dbd_conn_quote_string(dbi_conn_t *conn, const char *orig, char *dest); const char *dbd_select_db(dbi_conn_t *conn, const char *db); -int dbd_geterror(dbi_conn_t *conn, int *errno, char **errstr); +int dbd_geterror(dbi_conn_t *conn, int *err_no, char **errstr); unsigned long long dbd_get_seq_last(dbi_conn_t *conn, const char *sequence); unsigned long long dbd_get_seq_next(dbi_conn_t *conn, const char *sequence); int dbd_ping(dbi_conn_t *conn); @@ -63,7 +63,7 @@ void _dbd_result_add_field(dbi_result_t *result, unsigned int fieldidx, char *name, unsigned short type, unsigned int attribs); dbi_row_t *_dbd_row_allocate(unsigned int numfields); void _dbd_row_finalize(dbi_result_t *result, dbi_row_t *row, unsigned long long rowidx); -void _dbd_internal_error_handler(dbi_conn_t *conn, const char *errmsg, const int errno); +void _dbd_internal_error_handler(dbi_conn_t *conn, const char *errmsg, const int err_no); dbi_result_t *_dbd_result_create_from_stringarray(dbi_conn_t *conn, unsigned long long numrows_matched, const char **stringarray); void _dbd_register_driver_cap(dbi_driver_t *driver, const char *capname, int value); void _dbd_register_conn_cap(dbi_conn_t *conn, const char *capname, int value); --- libdbi-0.8.3/src/dbd_helper.c.orig Sun Sep 13 16:34:39 2009 +++ libdbi-0.8.3/src/dbd_helper.c Sun Sep 13 16:35:02 2009 @@ -145,7 +145,7 @@ return len; } -void _dbd_internal_error_handler(dbi_conn_t *conn, const char *errmsg, const int errno) { +void _dbd_internal_error_handler(dbi_conn_t *conn, const char *errmsg, const int err_no) { int my_errno = DBI_ERROR_NONE; int errstatus; char *my_errmsg = NULL; @@ -154,7 +154,7 @@ free(conn->error_message); } - if (errno == DBI_ERROR_DBD) { + if (err_no == DBI_ERROR_DBD) { /* translate into a client-library specific error number */ errstatus = conn->driver->functions->geterror(conn, &my_errno, &my_errmsg); @@ -171,8 +171,8 @@ } } else if (errmsg) { - conn->error_flag = errno; /* legacy code may rely on this */ - conn->error_number = errno; + conn->error_flag = err_no; /* legacy code may rely on this */ + conn->error_number = err_no; conn->error_message = strdup(errmsg); if (conn->error_handler != NULL) { @@ -181,7 +181,7 @@ } else { /* pass internal errors to the internal libdbi handler */ - _error_handler(conn, errno); + _error_handler(conn, err_no); } }