Browse Source

fix datatype mismatches

pull/885/head
Anatol Belski 12 years ago
parent
commit
6498126afa
  1. 56
      ext/pgsql/pgsql.c

56
ext/pgsql/pgsql.c

@ -87,6 +87,7 @@
#endif
#define CHECK_DEFAULT_LINK(x) if ((x) == -1) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "No PostgreSQL link opened yet"); }
#define FETCH_DEFAULT_LINK() PGG(default_link) ? (int)PGG(default_link)->handle : -1
#ifndef HAVE_PQFREEMEM
#define PQfreemem free
@ -1272,7 +1273,8 @@ static void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
PGconn *pgsql;
smart_str str = {0};
zval *args;
int i, connect_type = 0;
uint32_t i;
int connect_type = 0;
PGresult *pg_result;
args = (zval *)safe_emalloc(ZEND_NUM_ARGS(), sizeof(zval), 0);
@ -1307,7 +1309,7 @@ static void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
} else if (ZEND_NUM_ARGS() == 2 ) { /* Safe to add conntype_option, since 2 args was illegal */
connstring = Z_STRVAL(args[0]);
convert_to_long_ex(&args[1]);
connect_type = Z_LVAL(args[1]);
connect_type = (int)Z_LVAL(args[1]);
} else {
host = Z_STRVAL(args[0]);
port = Z_STRVAL(args[1]);
@ -1560,7 +1562,7 @@ PHP_FUNCTION(pg_close)
}
if (argc == 0) {
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
}
@ -1607,7 +1609,7 @@ static void php_pgsql_get_link_info(INTERNAL_FUNCTION_PARAMETERS, int entry_type
}
if (argc == 0) {
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
}
@ -1830,7 +1832,7 @@ PHP_FUNCTION(pg_query)
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &query, &query_len) == FAILURE) {
return;
}
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
} else {
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &pgsql_link, &query, &query_len) == FAILURE) {
@ -1933,7 +1935,7 @@ PHP_FUNCTION(pg_query_params)
if (zend_parse_parameters(argc TSRMLS_CC, "sa", &query, &query_len, &pv_param_arr) == FAILURE) {
return;
}
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
} else {
if (zend_parse_parameters(argc TSRMLS_CC, "rsa", &pgsql_link, &query, &query_len, &pv_param_arr) == FAILURE) {
@ -2049,7 +2051,7 @@ PHP_FUNCTION(pg_prepare)
if (zend_parse_parameters(argc TSRMLS_CC, "ss", &stmtname, &stmtname_len, &query, &query_len) == FAILURE) {
return;
}
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
} else {
if (zend_parse_parameters(argc TSRMLS_CC, "rss", &pgsql_link, &stmtname, &stmtname_len, &query, &query_len) == FAILURE) {
@ -2136,7 +2138,7 @@ PHP_FUNCTION(pg_execute)
if (zend_parse_parameters(argc TSRMLS_CC, "sa/", &stmtname, &stmtname_len, &pv_param_arr)==FAILURE) {
return;
}
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
} else {
if (zend_parse_parameters(argc TSRMLS_CC, "rsa/", &pgsql_link, &stmtname, &stmtname_len, &pv_param_arr) == FAILURE) {
@ -2898,7 +2900,7 @@ PHP_FUNCTION(pg_fetch_all_columns)
pgsql_result = pg_result->result;
num_fields = PQnfields(pgsql_result);
if (colno >= num_fields || colno < 0) {
if (colno >= (zend_long)num_fields || colno < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid column number '%pd'", colno);
RETURN_FALSE;
}
@ -2938,7 +2940,7 @@ PHP_FUNCTION(pg_result_seek)
}
/* seek to offset */
pg_result->row = row;
pg_result->row = (int)row;
RETURN_TRUE;
}
/* }}} */
@ -3092,7 +3094,7 @@ PHP_FUNCTION(pg_trace)
PGconn *pgsql;
FILE *fp = NULL;
php_stream *stream;
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
if (zend_parse_parameters(argc TSRMLS_CC, "s|sr", &z_filename, &z_filename_len, &mode, &mode_len, &pgsql_link) == FAILURE) {
return;
@ -3137,7 +3139,7 @@ PHP_FUNCTION(pg_untrace)
}
if (argc == 0) {
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
}
@ -3170,7 +3172,7 @@ PHP_FUNCTION(pg_lo_create)
}
if (pgsql_link == NULL) {
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
if (id == -1) {
RETURN_FALSE;
@ -3263,7 +3265,7 @@ PHP_FUNCTION(pg_lo_unlink)
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Wrong OID value passed");
RETURN_FALSE;
}
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
}
else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, argc TSRMLS_CC,
@ -3273,7 +3275,7 @@ PHP_FUNCTION(pg_lo_unlink)
RETURN_FALSE;
}
oid = (Oid)oid_long;
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
}
else {
@ -3335,7 +3337,7 @@ PHP_FUNCTION(pg_lo_open)
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Wrong OID value passed");
RETURN_FALSE;
}
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
}
else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, argc TSRMLS_CC,
@ -3345,7 +3347,7 @@ PHP_FUNCTION(pg_lo_open)
RETURN_FALSE;
}
oid = (Oid)oid_long;
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
}
else {
@ -3490,7 +3492,7 @@ PHP_FUNCTION(pg_lo_write)
}
if (argc > 2) {
if (z_len > str_len) {
if (z_len > (zend_long)str_len) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot write more than buffer size %d. Tried to write %pd", str_len, z_len);
RETURN_FALSE;
}
@ -3557,7 +3559,7 @@ PHP_FUNCTION(pg_lo_import)
}
else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, argc TSRMLS_CC,
"p|z", &file_in, &name_len, &oid) == SUCCESS) {
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
}
/* old calling convention, deprecated since PHP 4.2 */
@ -3666,7 +3668,7 @@ PHP_FUNCTION(pg_lo_export)
RETURN_FALSE;
}
oid = (Oid)oid_long;
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
}
else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, argc TSRMLS_CC,
@ -3677,7 +3679,7 @@ PHP_FUNCTION(pg_lo_export)
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Wrong OID value passed");
RETURN_FALSE;
}
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
}
else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, argc TSRMLS_CC,
@ -3833,7 +3835,7 @@ PHP_FUNCTION(pg_set_error_verbosity)
if (zend_parse_parameters(argc TSRMLS_CC, "l", &verbosity) == FAILURE) {
return;
}
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
} else {
if (zend_parse_parameters(argc TSRMLS_CC, "rl", &pgsql_link, &verbosity) == FAILURE) {
@ -3871,7 +3873,7 @@ PHP_FUNCTION(pg_set_client_encoding)
if (zend_parse_parameters(argc TSRMLS_CC, "s", &encoding, &encoding_len) == FAILURE) {
return;
}
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
} else {
if (zend_parse_parameters(argc TSRMLS_CC, "rs", &pgsql_link, &encoding, &encoding_len) == FAILURE) {
@ -3902,7 +3904,7 @@ PHP_FUNCTION(pg_client_encoding)
}
if (argc == 0) {
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
}
@ -3937,7 +3939,7 @@ PHP_FUNCTION(pg_end_copy)
}
if (argc == 0) {
id = PGG(default_link)? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
}
@ -3972,7 +3974,7 @@ PHP_FUNCTION(pg_put_line)
if (zend_parse_parameters(argc TSRMLS_CC, "s", &query, &query_len) == FAILURE) {
return;
}
id = PGG(default_link) ? PGG(default_link)->handle : -1;
id = FETCH_DEFAULT_LINK();
CHECK_DEFAULT_LINK(id);
} else {
if (zend_parse_parameters(argc TSRMLS_CC, "rs", &pgsql_link, &query, &query_len) == FAILURE) {
@ -4598,7 +4600,7 @@ PHP_FUNCTION(pg_result_error_field)
#endif
|PG_DIAG_CONTEXT|PG_DIAG_SOURCE_FILE|PG_DIAG_SOURCE_LINE
|PG_DIAG_SOURCE_FUNCTION)) {
field = (char *)PQresultErrorField(pgsql_result, fieldcode);
field = (char *)PQresultErrorField(pgsql_result, (int)fieldcode);
if (field == NULL) {
RETURN_NULL();
} else {

Loading…
Cancel
Save