summaryrefslogtreecommitdiff
path: root/ext/mysqlnd/mysqlnd_ps_codec.c
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2008-10-31 20:32:17 +0000
committerAndrey Hristov <andrey@php.net>2008-10-31 20:32:17 +0000
commit77c1e145e1b70a64caae504c58d78460201df4be (patch)
tree11b265212bffd1240c7eb3f924f8caecb3aa402f /ext/mysqlnd/mysqlnd_ps_codec.c
parent4f5895a4d2bb3f213dc58a3bced00a7a6f22a7ee (diff)
downloadphp-git-77c1e145e1b70a64caae504c58d78460201df4be.tar.gz
MFB:
64bit fixes: - fixes to sprintf modifiers, cleaning warnings - use _t types, like uint64_t instead of uint64, thus skipping series of typedefs.
Diffstat (limited to 'ext/mysqlnd/mysqlnd_ps_codec.c')
-rw-r--r--ext/mysqlnd/mysqlnd_ps_codec.c42
1 files changed, 15 insertions, 27 deletions
diff --git a/ext/mysqlnd/mysqlnd_ps_codec.c b/ext/mysqlnd/mysqlnd_ps_codec.c
index 2b37987306..8269d26f83 100644
--- a/ext/mysqlnd/mysqlnd_ps_codec.c
+++ b/ext/mysqlnd/mysqlnd_ps_codec.c
@@ -28,17 +28,6 @@
#define MYSQLND_SILENT
-
-typedef int8 my_int8;
-typedef uint8 my_uint8;
-
-typedef int16 my_int16;
-typedef uint16 my_uint16;
-
-typedef int32 my_int32;
-typedef uint32 my_uint32;
-
-
enum mysqlnd_timestamp_type
{
MYSQLND_TIMESTAMP_NONE= -2,
@@ -58,7 +47,6 @@ struct st_mysqlnd_time
};
-
struct st_mysqlnd_perm_bind mysqlnd_ps_fetch_functions[MYSQL_TYPE_LAST + 1];
#define MYSQLND_PS_SKIP_RESULT_W_LEN -1
@@ -75,17 +63,17 @@ void ps_fetch_from_1_to_8_bytes(zval *zv, const MYSQLND_FIELD * const field,
DBG_ENTER("ps_fetch_from_1_to_8_bytes");
DBG_INF_FMT("zv=%p byte_count=%d", zv, byte_count);
if (field->flags & UNSIGNED_FLAG) {
- uint64 uval = 0;
+ uint64_t uval = 0;
switch (byte_count) {
- case 8:uval = is_bit? (uint64) bit_uint8korr(*row):(uint64) uint8korr(*row);break;
+ case 8:uval = is_bit? (uint64_t) bit_uint8korr(*row):(uint64_t) uint8korr(*row);break;
case 7:uval = bit_uint7korr(*row);break;
case 6:uval = bit_uint6korr(*row);break;
case 5:uval = bit_uint5korr(*row);break;
- case 4:uval = is_bit? (uint64) bit_uint4korr(*row):(uint64) uint4korr(*row);break;
- case 3:uval = is_bit? (uint64) bit_uint3korr(*row):(uint64) uint3korr(*row);break;
- case 2:uval = is_bit? (uint64) bit_uint2korr(*row):(uint64) uint2korr(*row);break;
- case 1:uval = (uint64) uint1korr(*row);break;
+ case 4:uval = is_bit? (uint64_t) bit_uint4korr(*row):(uint64_t) uint4korr(*row);break;
+ case 3:uval = is_bit? (uint64_t) bit_uint3korr(*row):(uint64_t) uint3korr(*row);break;
+ case 2:uval = is_bit? (uint64_t) bit_uint2korr(*row):(uint64_t) uint2korr(*row);break;
+ case 1:uval = (uint64_t) uint1korr(*row);break;
}
#if SIZEOF_LONG==4
@@ -104,21 +92,21 @@ void ps_fetch_from_1_to_8_bytes(zval *zv, const MYSQLND_FIELD * const field,
}
} else {
/* SIGNED */
- int64 lval = 0;
+ int64_t lval = 0;
switch (byte_count) {
- case 8:lval = (int64) sint8korr(*row);break;
+ case 8:lval = (int64_t) sint8korr(*row);break;
/*
7, 6 and 5 are not possible.
BIT is only unsigned, thus only uint5|6|7 macroses exist
*/
- case 4:lval = (int64) sint4korr(*row);break;
- case 3:lval = (int64) sint3korr(*row);break;
- case 2:lval = (int64) sint2korr(*row);break;
- case 1:lval = (int64) *(my_int8*)*row;break;
+ case 4:lval = (int64_t) sint4korr(*row);break;
+ case 3:lval = (int64_t) sint3korr(*row);break;
+ case 2:lval = (int64_t) sint2korr(*row);break;
+ case 1:lval = (int64_t) *(int8_t*)*row;break;
}
#if SIZEOF_LONG==4
- if ((L64(2147483647) < (int64) lval) || (L64(-2147483648) > (int64) lval)) {
+ if ((L64(2147483647) < (int64_t) lval) || (L64(-2147483648) > (int64_t) lval)) {
DBG_INF("stringify");
tmp_len = sprintf((char *)&tmp, MYSQLND_LL_SPEC, lval);
} else
@@ -609,8 +597,8 @@ mysqlnd_stmt_execute_store_params(MYSQLND_STMT *stmt, zend_uchar **buf, zend_uch
size_t *buf_len, unsigned int null_byte_offset TSRMLS_DC)
{
unsigned int i = 0;
- unsigned left = (*buf_len - (*p - *buf));
- unsigned int data_size = 0;
+ size_t left = (*buf_len - (*p - *buf));
+ size_t data_size = 0;
zval **copies = NULL;/* if there are different types */
/* 1. Store type information */