Hi Dale,
BuildSmart wrote:
> On Aug 31, 2007, at 09:43:14, Andrey Hristov wrote:
> 
>>  Hi,
>> BuildSmart wrote:
>>>
>>> On Aug 30, 2007, at 03:18:34, Jani Taskinen wrote:
>>>
>>>> Perhaps you could send the diff to the list, or better yet, an url
>>>> pointing to the place you uploaded the diff. And note: it should be
>>>> unified diff. (diff -u)
> 
>> I don't understand the intention of the changes? What was the problem?
> 
> Compile failures.
> 
> The original #if tests had the same data in #else, obviously the
> original coder had the right intentions but forgot to check the data types.
> 
> Things like MYSQL_TYPE_VARCHAR don't exist in 4.1.13 and below, I
> checked the header files for 4.1.10 and 4.1.13 and removed the ones that
> didn't exist.
> 
> I can send you the header files if you wish?

Yes, please. I don't have that ancient MySQL 4.1 :)
I have tested with versions like 4.1.19, 20, 21

> One of the files didn't check at all and it didn't compensate for the
> mysql version differences so the check was added to correct this.
> 
> 

Greets,
Andrey

> 
> 
>>>> --Jani
>>>
>>> ______________________________
>>>
>>> A link to it:
>>> http://daleenterprise.com/patches/mysql.diff
>>> ______________________________
>>>
>>> a unified diff:
>>> diff -ur ext.orig/mysql/php_mysql.c ext/mysql/php_mysql.c
>>> --- ext.orig/mysql/php_mysql.c    2007-08-06 11:11:46.000000000 -0400
>>> +++ ext/mysql/php_mysql.c    2007-08-30 15:00:16.000000000 -0400
>>> @@ -1977,11 +1977,9 @@
>>>     (f)->type == MYSQL_TYPE_VAR_STRING || (f)->type ==
>>> MYSQL_TYPE_VARCHAR || \
>>>     (f)->type == MYSQL_TYPE_STRING)&& (f)->charsetnr ==
>>> MYSQL_BINARY_CHARSET_NR)
>>> #else
>>> -#define IS_BINARY_DATA(f) (((f)->type == MYSQL_TYPE_TINY_BLOB ||
>>> (f)->type == MYSQL_TYPE_BLOB || \
>>> +#define IS_BINARY_DATA(f) ((f)->type == MYSQL_TYPE_TINY_BLOB ||
>>> (f)->type == MYSQL_TYPE_BLOB || \
>>>     (f)->type == MYSQL_TYPE_MEDIUM_BLOB || (f)->type ==
>>> MYSQL_TYPE_LONG_BLOB || \
>>> -    (f)->type == MYSQL_TYPE_VAR_STRING || \ (f)->type ==
>>> MYSQL_TYPE_VARCHAR || \
>>> -    (f)->type == MYSQL_TYPE_STRING)&& (f)->charsetnr ==
>>> MYSQL_BINARY_CHARSET_NR)
>>> -
>>> +    (f)->type == MYSQL_TYPE_VAR_STRING || (f)->type ==
>>> MYSQL_TYPE_STRING)
>>> #endif
>>> /* {{{ php_mysql_fetch_hash
>>> diff -ur ext.orig/mysqli/mysqli.c ext/mysqli/mysqli.c
>>> --- ext.orig/mysqli/mysqli.c    2007-07-24 12:13:25.000000000 -0400
>>> +++ ext/mysqli/mysqli.c    2007-08-30 15:01:02.000000000 -0400
>>> @@ -947,11 +947,16 @@
>>> #define MYSQL_BINARY_CHARSET_NR 63
>>> +#if MYSQL_VERSION_ID > 50002 || defined(HAVE_MYSQLND)
>>> #define IS_BINARY_DATA(f) (((f).type == MYSQL_TYPE_TINY_BLOB || (f).type
>>> == MYSQL_TYPE_BLOB || \
>>>     (f).type == MYSQL_TYPE_MEDIUM_BLOB || (f).type ==
>>> MYSQL_TYPE_LONG_BLOB || \
>>>     (f).type == MYSQL_TYPE_BIT || (f).type == MYSQL_TYPE_VAR_STRING ||
>>> (f).type == MYSQL_TYPE_VARCHAR ||\
>>>     (f).type == MYSQL_TYPE_STRING) && (f).charsetnr ==
>>> MYSQL_BINARY_CHARSET_NR)
>>> -
>>> +#else
>>> +#define IS_BINARY_DATA(f) ((f).type == MYSQL_TYPE_TINY_BLOB || (f).type
>>> == MYSQL_TYPE_BLOB || \
>>> +    (f).type == MYSQL_TYPE_MEDIUM_BLOB || (f).type ==
>>> MYSQL_TYPE_LONG_BLOB || \
>>> +    (f).type == MYSQL_TYPE_VAR_STRING || (f).type == MYSQL_TYPE_STRING)
>>> +#endif
>>> /* {{{ php_mysqli_fetch_into_hash
>>>   */
>>> diff -ur ext.orig/mysqli/mysqli_api.c ext/mysqli/mysqli_api.c
>>> --- ext.orig/mysqli/mysqli_api.c    2007-07-24 12:13:26.000000000 -0400
>>> +++ ext/mysqli/mysqli_api.c    2007-08-30 15:01:02.000000000 -0400
>>> @@ -759,10 +759,9 @@
>>>     (f).type == MYSQL_TYPE_STRING) && (f).charsetnr ==
>>> MYSQL_BINARY_CHARSET_NR)
>>> #else
>>> /* No BIT */
>>> -#define IS_BINARY_DATA(f) (((f).type == MYSQL_TYPE_TINY_BLOB ||
>>> (f).type == MYSQL_TYPE_BLOB || \
>>> +#define IS_BINARY_DATA(f) ((f).type == MYSQL_TYPE_TINY_BLOB || (f).type
>>> == MYSQL_TYPE_BLOB || \
>>>     (f).type == MYSQL_TYPE_MEDIUM_BLOB || (f).type ==
>>> MYSQL_TYPE_LONG_BLOB || \
>>> -    (f).type == MYSQL_TYPE_VAR_STRING || (f).type ==
>>> MYSQL_TYPE_VARCHAR ||\
>>> -    (f).type == MYSQL_TYPE_STRING) && (f).charsetnr ==
>>> MYSQL_BINARY_CHARSET_NR)
>>> +    (f).type == MYSQL_TYPE_VAR_STRING || (f).type == MYSQL_TYPE_STRING)
>>> #endif
>>>
>>> ______________________________
>>>
>>> -- Dale
> 
>> --PHP Internals - PHP Runtime Development Mailing List
>> To unsubscribe, visit: http://www.php.net/unsub.php
> 
> -- BuildSmart
> 

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to