Change the version. We are moving towards the next release.

Fixed a nasty bug that messed up negative money amounts.
This commit is contained in:
D'Arcy J.M. Cain 2001-09-19 18:58:47 +00:00
parent 9e774ca45e
commit ae64196acb
1 changed files with 31 additions and 9 deletions

View File

@ -36,7 +36,7 @@
#include <string.h> #include <string.h>
static PyObject *PGError; static PyObject *PGError;
static const char *PyPgVersion = "3.2"; static const char *PyPgVersion = "3.3";
/* taken from fileobject.c */ /* taken from fileobject.c */
#define BUF(v) PyString_AS_STRING((PyStringObject *)(v)) #define BUF(v) PyString_AS_STRING((PyStringObject *)(v))
@ -1844,21 +1844,32 @@ pgquery_getresult(pgqueryobject * self, PyObject * args)
val = PyFloat_FromDouble(strtod(s, NULL)); val = PyFloat_FromDouble(strtod(s, NULL));
break; break;
case 3: /* get rid of the '$' and commas */ case 3:
{
int mult = 1;
if (*s == '$') /* there's talk of getting rid of if (*s == '$') /* there's talk of getting rid of
* it */ * it */
s++; s++;
if ((s[0] == '-' || s[0] == '(') && s[1] == '$') if (*s == '-' || *s == '(')
*(++s) = '-'; {
s++;
mult = -1;
}
/* get rid of the '$' and commas */
if (*s == '$') /* Just in case we exposed one */
s++;
for (k = 0; *s; s++) for (k = 0; *s; s++)
if (*s != ',') if (*s != ',')
cashbuf[k++] = *s; cashbuf[k++] = *s;
cashbuf[k] = 0; cashbuf[k] = 0;
val = PyFloat_FromDouble(strtod(cashbuf, NULL)); val = PyFloat_FromDouble(strtod(cashbuf, NULL) * mult);
break; break;
}
default: default:
val = PyString_FromString(s); val = PyString_FromString(s);
@ -1980,21 +1991,32 @@ pgquery_dictresult(pgqueryobject * self, PyObject * args)
val = PyFloat_FromDouble(strtod(s, NULL)); val = PyFloat_FromDouble(strtod(s, NULL));
break; break;
case 3: /* get rid of the '$' and commas */ case 3:
{
int mult = 1;
if (*s == '$') /* there's talk of getting rid of if (*s == '$') /* there's talk of getting rid of
* it */ * it */
s++; s++;
if ((s[0] == '-' || s[0] == '(') && s[1] == '$') if (*s == '-' || *s == '(')
*(++s) = '-'; {
s++;
mult = -1;
}
/* get rid of the '$' and commas */
if (*s == '$') /* Just in case we exposed one */
s++;
for (k = 0; *s; s++) for (k = 0; *s; s++)
if (*s != ',') if (*s != ',')
cashbuf[k++] = *s; cashbuf[k++] = *s;
cashbuf[k] = 0; cashbuf[k] = 0;
val = PyFloat_FromDouble(strtod(cashbuf, NULL)); val = PyFloat_FromDouble(strtod(cashbuf, NULL) * mult);
break; break;
}
default: default:
val = PyString_FromString(s); val = PyString_FromString(s);