diff options
author | Andrey Hristov <andrey@php.net> | 2008-10-31 20:32:17 +0000 |
---|---|---|
committer | Andrey Hristov <andrey@php.net> | 2008-10-31 20:32:17 +0000 |
commit | 77c1e145e1b70a64caae504c58d78460201df4be (patch) | |
tree | 11b265212bffd1240c7eb3f924f8caecb3aa402f /ext/mysqlnd/mysqlnd_ps_codec.c | |
parent | 4f5895a4d2bb3f213dc58a3bced00a7a6f22a7ee (diff) | |
download | php-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.c | 42 |
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 */ |