summaryrefslogtreecommitdiff
path: root/ext/pgsql/pgsql.c
diff options
context:
space:
mode:
authorYasuo Ohgaki <yohgaki@php.net>2002-04-20 02:31:48 +0000
committerYasuo Ohgaki <yohgaki@php.net>2002-04-20 02:31:48 +0000
commitc53c212da6e0c2a2aa71c62698f6cf07ae205ac1 (patch)
tree14aa87983501313de05da972c16237db577561cc /ext/pgsql/pgsql.c
parentb3805dd3648a2ead56c1a3e5fcb20be30930d50b (diff)
downloadphp-git-c53c212da6e0c2a2aa71c62698f6cf07ae205ac1.tar.gz
Remove warnings.
Fixed OID overflow bug. Fixed type convertion bug. # Thank you Edin.
Diffstat (limited to 'ext/pgsql/pgsql.c')
-rw-r--r--ext/pgsql/pgsql.c35
1 files changed, 18 insertions, 17 deletions
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c
index e1b8540a5a..b42b28a969 100644
--- a/ext/pgsql/pgsql.c
+++ b/ext/pgsql/pgsql.c
@@ -1041,7 +1041,7 @@ static char *get_field_name(PGconn *pgsql, Oid oid, HashTable *list TSRMLS_DC)
char *ret=NULL;
/* try to lookup the type in the resource list */
- snprintf(hashed_oid_key,31,"pgsql_oid_%d",(int) oid);
+ snprintf(hashed_oid_key,31,"pgsql_oid_%l", oid);
hashed_oid_key[31]=0;
if (zend_hash_find(list,hashed_oid_key,strlen(hashed_oid_key)+1,(void **) &field_type)==SUCCESS) {
@@ -1049,7 +1049,7 @@ static char *get_field_name(PGconn *pgsql, Oid oid, HashTable *list TSRMLS_DC)
} else { /* hash all oid's */
int i,num_rows;
int oid_offset,name_offset;
- char *tmp_oid, *tmp_name;
+ char *tmp_oid, *end_ptr, *tmp_name;
list_entry new_oid_entry;
if ((result = PQexec(pgsql,"select oid,typname from pg_type")) == NULL) {
@@ -1070,7 +1070,7 @@ static char *get_field_name(PGconn *pgsql, Oid oid, HashTable *list TSRMLS_DC)
Z_TYPE(new_oid_entry) = le_string;
new_oid_entry.ptr = estrdup(tmp_name);
zend_hash_update(list,hashed_oid_key,strlen(hashed_oid_key)+1,(void *) &new_oid_entry, sizeof(list_entry), NULL);
- if (!ret && atoi(tmp_oid)==oid) {
+ if (!ret && strtoul(tmp_oid, &end_ptr, 10)==oid) {
ret = estrdup(tmp_name);
}
}
@@ -3193,7 +3193,7 @@ PHPAPI int php_pgsql_convert(PGconn *pg_link, const char *table_name, const zval
break;
case IS_LONG:
- ZVAL_LONG(new_val, Z_DVAL_PP(val));
+ ZVAL_LONG(new_val, Z_LVAL_PP(val));
break;
case IS_DOUBLE:
@@ -3758,8 +3758,8 @@ PHP_FUNCTION(pg_convert)
}
/* }}} */
-#define MAX_LENGTH_OF_LONG 30
-#define MAX_LENGTH_OF_DOUBLE 60
+#define PGSQL_MAX_LENGTH_OF_LONG 30
+#define PGSQL_MAX_LENGTH_OF_DOUBLE 60
/* {{{ php_pgsql_insert
*/
@@ -3809,10 +3809,10 @@ PHPAPI int php_pgsql_insert(PGconn *pg_link, const char *table, zval *var_array,
values_len += Z_STRLEN_PP(val)+1;
break;
case IS_LONG:
- values_len += MAX_LENGTH_OF_LONG+1;
+ values_len += PGSQL_MAX_LENGTH_OF_LONG+1;
break;
case IS_DOUBLE:
- values_len += MAX_LENGTH_OF_DOUBLE+1;
+ values_len += PGSQL_MAX_LENGTH_OF_DOUBLE+1;
break;
default:
if (convert) {
@@ -4041,10 +4041,10 @@ PHPAPI int php_pgsql_update(PGconn *pg_link, const char *table, zval *var_array,
values_len += Z_STRLEN_PP(val)+1;
break;
case IS_LONG:
- values_len += MAX_LENGTH_OF_LONG+1;
+ values_len += PGSQL_MAX_LENGTH_OF_LONG+1;
break;
case IS_DOUBLE:
- values_len += MAX_LENGTH_OF_DOUBLE+1;
+ values_len += PGSQL_MAX_LENGTH_OF_DOUBLE+1;
break;
default:
php_error(E_NOTICE, "%s() expect scaler values other than null. Need to convert?",
@@ -4086,10 +4086,10 @@ PHPAPI int php_pgsql_update(PGconn *pg_link, const char *table, zval *var_array,
idsv_len += Z_STRLEN_PP(val)+1;
break;
case IS_LONG:
- idsv_len += MAX_LENGTH_OF_LONG+1;
+ idsv_len += PGSQL_MAX_LENGTH_OF_LONG+1;
break;
case IS_DOUBLE:
- idsv_len += MAX_LENGTH_OF_DOUBLE+1;
+ idsv_len += PGSQL_MAX_LENGTH_OF_DOUBLE+1;
break;
default:
php_error(E_NOTICE, "%s() expects scaler values other than null. Need to convert?",
@@ -4357,10 +4357,10 @@ PHPAPI int php_pgsql_delete(PGconn *pg_link, const char *table, zval *ids_array,
idsv_len += Z_STRLEN_PP(val)+1;
break;
case IS_LONG:
- idsv_len += MAX_LENGTH_OF_LONG+1;
+ idsv_len += PGSQL_MAX_LENGTH_OF_LONG+1;
break;
case IS_DOUBLE:
- idsv_len += MAX_LENGTH_OF_DOUBLE+1;
+ idsv_len += PGSQL_MAX_LENGTH_OF_DOUBLE+1;
break;
default:
php_error(E_NOTICE, "%s() expects scaler values other than null. Need to convert?",
@@ -4512,7 +4512,8 @@ PHPAPI int php_pgsql_result2array(PGresult *pg_result, zval *ret_array TSRMLS_DC
zval *row;
char *field_name, *element, *data;
size_t num_fields, element_len, data_len;
- int pg_numrows, pg_row, i;
+ int pg_numrows, pg_row;
+ uint i;
assert(Z_TYPE_P(ret_array) == IS_ARRAY);
if ((pg_numrows = PQntuples(pg_result)) <= 0) {
@@ -4595,10 +4596,10 @@ PHPAPI int php_pgsql_select(PGconn *pg_link, const char *table, zval *ids_array,
idsv_len += Z_STRLEN_PP(val)+1;
break;
case IS_LONG:
- idsv_len += MAX_LENGTH_OF_LONG+1;
+ idsv_len += PGSQL_MAX_LENGTH_OF_LONG+1;
break;
case IS_DOUBLE:
- idsv_len += MAX_LENGTH_OF_DOUBLE+1;
+ idsv_len += PGSQL_MAX_LENGTH_OF_DOUBLE+1;
break;
default:
php_error(E_NOTICE, "%s() expects scaler values other than null. Need to convert?",