cvs: php4 /ext/pgsql pgsql.c
| From: | Yasuo Ohgaki | Date: | Sat, 20 Apr 2002 02:31:48 +0000 |
| Subject: | cvs: php4 /ext/pgsql pgsql.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-11251@lists.php.net to get a copy of this message | ||
yohgaki Fri Apr 19 22:31:48 2002 EDT
Modified files:
/php4/ext/pgsql pgsql.c
Log:
Remove warnings.
Fixed OID overflow bug.
Fixed type convertion bug.
# Thank you Edin.
Index: php4/ext/pgsql/pgsql.c
diff -u php4/ext/pgsql/pgsql.c:1.180 php4/ext/pgsql/pgsql.c:1.181
--- php4/ext/pgsql/pgsql.c:1.180 Fri Apr 19 09:09:09 2002
+++ php4/ext/pgsql/pgsql.c Fri Apr 19 22:31:48 2002
@@ -19,7 +19,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: pgsql.c,v 1.180 2002/04/19 13:09:09 yohgaki Exp $ */
+/* $Id: pgsql.c,v 1.181 2002/04/20 02:31:48 yohgaki Exp $ */
#include <stdlib.h>
@@ -1041,7 +1041,7 @@
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 @@
} 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 @@
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 @@
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 @@
}
/* }}} */
-#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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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?",