Skip to content

Commit

Permalink
see #31 - also try to be a bit more careful with integer sizes
Browse files Browse the repository at this point in the history
  • Loading branch information
lopuhin committed Feb 7, 2015
1 parent 0305330 commit fdb5d5c
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions psycopg2cffi/_impl/libpq.py
Expand Up @@ -133,8 +133,8 @@
// direct parsers - not part of libpq
long PQEgetlong(const PGresult *res, int tup_num, int field_num);
int PQEgetint(const PGresult *res, int tup_num, int field_num);
int64_t PQEgetlong(const PGresult *res, int tup_num, int field_num);
int32_t PQEgetint(const PGresult *res, int tup_num, int field_num);
float PQEgetfloat(const PGresult *res, int tup_num, int field_num);
double PQEgetdouble(const PGresult *res, int tup_num, int field_num);
Expand Down Expand Up @@ -217,17 +217,18 @@


libpq = ffi.verify('''
#include <stdint.h>
#include <postgres_ext.h>
#include <libpq-fe.h>
long PQEgetlong(const PGresult *res, int tup_num, int field_num) {
int64_t PQEgetlong(const PGresult *res, int tup_num, int field_num) {
long raw_res;
char *val = PQgetvalue(res, tup_num, field_num);
sscanf(val, "%ld", &raw_res);
return raw_res;
}
int PQEgetint(const PGresult *res, int tup_num, int field_num) {
int32_t PQEgetint(const PGresult *res, int tup_num, int field_num) {
int raw_res;
char *val = PQgetvalue(res, tup_num, field_num);
sscanf(val, "%d", &raw_res);
Expand Down

0 comments on commit fdb5d5c

Please sign in to comment.