You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2008/06/13 10:33:26 UTC
Re: svn commit: r667418 - in /apr/apr-util/trunk/dbd: apr_dbd_oracle.c
apr_dbd_pgsql.c apr_dbd_sqlite3.c
If someone on unix with all three providers can confirm this is clean,
I'm happy to backport.
Bill
wrowe@apache.org wrote:
> Author: wrowe
> Date: Fri Jun 13 01:31:58 2008
> New Revision: 667418
>
> URL: http://svn.apache.org/viewvc?rev=667418&view=rev
> Log:
> Signedness fixes, const'ness fix (OCIAttrGet is not
> happy with a const arg) and note especially atof()
> generally returns a double, which was seen as truncation.
>
> Modified:
> apr/apr-util/trunk/dbd/apr_dbd_oracle.c
> apr/apr-util/trunk/dbd/apr_dbd_pgsql.c
> apr/apr-util/trunk/dbd/apr_dbd_sqlite3.c
>
> Modified: apr/apr-util/trunk/dbd/apr_dbd_oracle.c
> URL: http://svn.apache.org/viewvc/apr/apr-util/trunk/dbd/apr_dbd_oracle.c?rev=667418&r1=667417&r2=667418&view=diff
> ==============================================================================
> --- apr/apr-util/trunk/dbd/apr_dbd_oracle.c (original)
> +++ apr/apr-util/trunk/dbd/apr_dbd_oracle.c Fri Jun 13 01:31:58 2008
> @@ -262,7 +262,7 @@
> /* fetch from offset if not at the beginning */
> buf = apr_palloc(row->pool, APR_BUCKET_BUFF_SIZE);
> sql->status = OCILobRead(sql->svc, sql->err, val->buf.lobval,
> - &length, 1 + boffset,
> + &length, 1 + (size_t)boffset,
> (dvoid*) buf, APR_BUCKET_BUFF_SIZE,
> NULL, NULL, 0, SQLCS_IMPLICIT);
> /* Only with 10g, unfortunately
> @@ -995,7 +995,7 @@
> int i;
> ub2 paramtype[DBD_ORACLE_MAX_COLUMNS];
> ub2 paramsize[DBD_ORACLE_MAX_COLUMNS];
> - const char *paramname[DBD_ORACLE_MAX_COLUMNS];
> + char *paramname[DBD_ORACLE_MAX_COLUMNS];
> ub4 paramnamelen[DBD_ORACLE_MAX_COLUMNS];
> int_errorcode;
>
> @@ -2018,7 +2018,7 @@
> if (entry == NULL) {
> return APR_ENOENT;
> }
> - *(float*)data = atof(entry);
> + *(float*)data = (float)atof(entry);
> break;
> case APR_DBD_TYPE_DOUBLE:
> entry = dbd_oracle_get_entry(row, n);
>
> Modified: apr/apr-util/trunk/dbd/apr_dbd_pgsql.c
> URL: http://svn.apache.org/viewvc/apr/apr-util/trunk/dbd/apr_dbd_pgsql.c?rev=667418&r1=667417&r2=667418&view=diff
> ==============================================================================
> --- apr/apr-util/trunk/dbd/apr_dbd_pgsql.c (original)
> +++ apr/apr-util/trunk/dbd/apr_dbd_pgsql.c Fri Jun 13 01:31:58 2008
> @@ -258,7 +258,7 @@
> }
>
> if (res->random) {
> - if (row->n >= res->ntuples) {
> + if ((row->n > 0) && (size_t)row->n >= res->ntuples) {
> *rowp = NULL;
> apr_pool_cleanup_run(pool, res->res, clear_result);
> res->res = NULL;
> @@ -266,7 +266,7 @@
> }
> }
> else {
> - if (row->n >= res->ntuples) {
> + if ((row->n > 0) && (size_t)row->n >= res->ntuples) {
> /* no data; we have to fetch some */
> row->n -= res->ntuples;
> if (res->res != NULL) {
> @@ -344,7 +344,7 @@
> *(apr_uint64_t*)data = apr_atoi64(PQgetvalue(row->res->res, row->n, n));
> break;
> case APR_DBD_TYPE_FLOAT:
> - *(float*)data = atof(PQgetvalue(row->res->res, row->n, n));
> + *(float*)data = (float)atof(PQgetvalue(row->res->res, row->n, n));
> break;
> case APR_DBD_TYPE_DOUBLE:
> *(double*)data = atof(PQgetvalue(row->res->res, row->n, n));
> @@ -477,7 +477,7 @@
> char *sqlcmd;
> char *sqlptr;
> size_t length, qlen;
> - size_t i = 0;
> + int i = 0;
> const char **args;
> size_t alen;
> int ret;
>
> Modified: apr/apr-util/trunk/dbd/apr_dbd_sqlite3.c
> URL: http://svn.apache.org/viewvc/apr/apr-util/trunk/dbd/apr_dbd_sqlite3.c?rev=667418&r1=667417&r2=667418&view=diff
> ==============================================================================
> --- apr/apr-util/trunk/dbd/apr_dbd_sqlite3.c (original)
> +++ apr/apr-util/trunk/dbd/apr_dbd_sqlite3.c Fri Jun 13 01:31:58 2008
> @@ -86,8 +86,8 @@
> apr_dbd_results_t **results,
> sqlite3_stmt *stmt, int seek)
> {
> - int i, ret, retry_count = 0, column_count;
> - size_t num_tuples = 0;
> + int ret, retry_count = 0, column_count;
> + size_t i, num_tuples = 0;
> int increment = 0;
> apr_dbd_row_t *row = NULL;
> apr_dbd_row_t *lastrow = NULL;
> @@ -207,7 +207,7 @@
>
> static const char *dbd_sqlite3_get_name(const apr_dbd_results_t *res, int n)
> {
> - if ((n < 0) || (n >= res->sz)) {
> + if ((n < 0) || ((size_t)n >= res->sz)) {
> return NULL;
> }
>
> @@ -256,7 +256,7 @@
> static apr_status_t dbd_sqlite3_datum_get(const apr_dbd_row_t *row, int n,
> apr_dbd_type_e type, void *data)
> {
> - if ((n < 0) || (n >= row->res->sz)) {
> + if ((n < 0) || ((size_t)n >= row->res->sz)) {
> return APR_EGENERAL;
> }
>
> @@ -296,7 +296,7 @@
> *(apr_uint64_t*)data = apr_atoi64(row->columns[n]->value);
> break;
> case APR_DBD_TYPE_FLOAT:
> - *(float*)data = atof(row->columns[n]->value);
> + *(float*)data = (float)atof(row->columns[n]->value);
> break;
> case APR_DBD_TYPE_DOUBLE:
> *(double*)data = atof(row->columns[n]->value);
>
>
>
>
Re: svn commit: r667418 - in /apr/apr-util/trunk/dbd:
apr_dbd_oracle.c apr_dbd_pgsql.c apr_dbd_sqlite3.c
Posted by Bojan Smojver <bo...@rexursive.com>.
On Fri, 2008-06-13 at 03:33 -0500, William A. Rowe, Jr. wrote:
> If someone on unix with all three providers can confirm this is clean,
> I'm happy to backport.
Done in r667456.
--
Bojan
Re: svn commit: r667418 - in /apr/apr-util/trunk/dbd:
apr_dbd_oracle.c apr_dbd_pgsql.c apr_dbd_sqlite3.c
Posted by Bojan Smojver <bo...@rexursive.com>.
On Fri, 2008-06-13 at 03:33 -0500, William A. Rowe, Jr. wrote:
> If someone on unix with all three providers can confirm this is clean,
> I'm happy to backport.
It's clean.
--
Bojan