-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Aug 31, 2007, at 14:02:57, Andrey Hristov wrote:
> 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
I've only checked the versions that are vendor supplied (for Darwin /
Mac OS X) 4.1.10, 4.1.13 and 5.0.24 so I couldn't tell you the
specific version that it comes into play, perhaps a check if they are
defined might be a direction to go rather than a version check unless
you can isolate the specific version where these appeared.
http://daleenterprise.com/patches/mysql_headers.tgz
>
>> 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
- -- Dale
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (Darwin)
iD8DBQFG2IJD0hzWbkf0eKgRAh9lAJ9fBNIBvYsfxGeSeXoTBDPLVcwT5gCfQ9nk
ooSXEThB5v/U9jCxnhCTS9I=
=f34o
-----END PGP SIGNATURE-----