OK, so please #if it with libxml2 version number once it is clear what the next version is.

Thanks,

Andi

At 09:17 AM 9/8/2004 +0400, Dmitry Stogov wrote:
The bug is fixed in libxml2 CVS HEAD, but it exists in latest stable
version.

Dmitry.

> -----Original Message-----
> From: Andi Gutmans [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, September 07, 2004 22:51
> To: Dmitry Stogov; [EMAIL PROTECTED]
> Subject: Re: [PHP-CVS] cvs: php-src(PHP_5_0) /ext/soap php_encoding.c
>
>
> Is this fixed in libxml2? If so, maybe you should put a version check
> around these functions so that it's clear why this code
> exists (and so that
> we can nuke it in future?)
>
> Andi
>
> At 02:41 PM 9/7/2004 +0000, Dmitry Stogov wrote:
> >dmitry          Tue Sep  7 10:41:29 2004 EDT
> >
> >   Modified files:              (Branch: PHP_5_0)
> >     /php-src/ext/soap   php_encoding.c
> >   Log:
> >   Make ext/soap work around libxml2 bug in xmlCheckUTF8
> (2.6.7-2.6.13)
> >
> >
> >http://cvs.php.net/diff.php/php-src/ext/soap/php_encoding.c?r
> 1=1.71.2.3
> >&r2=1.71.2.4&ty=u
> >Index: php-src/ext/soap/php_encoding.c
> >diff -u php-src/ext/soap/php_encoding.c:1.71.2.3
> >php-src/ext/soap/php_encoding.c:1.71.2.4
> >--- php-src/ext/soap/php_encoding.c:1.71.2.3    Thu Aug 26
> 14:36:46 2004
> >+++ php-src/ext/soap/php_encoding.c     Tue Sep  7 10:41:29 2004
> >@@ -17,7 +17,7 @@
> >    |          Dmitry Stogov <[EMAIL PROTECTED]>
>               |
> >
> >+------------------------------------------------------------
> ----------+
> >  */
> >-/* $Id: php_encoding.c,v 1.71.2.3 2004/08/26 18:36:46
> dmitry Exp $ */
> >+/* $Id: php_encoding.c,v 1.71.2.4 2004/09/07 14:41:29
> dmitry Exp $ */
> >
> >  #include <time.h>
> >
> >@@ -581,6 +581,32 @@
> >         return ret;
> >  }
> >
> >+static int php_soap_xmlCheckUTF8(const unsigned char *s)
> >+{
> >+       int i;
> >+       unsigned char c;
> >+
> >+       for (i = 0; (c = s[i++]);) {
> >+               if ((c & 0x80) == 0) {
> >+               } else if ((c & 0xe0) == 0xc0) {
> >+                       if ((s[i++] & 0xc0) != 0x80) {
> >+                               return 0;
> >+                       }
> >+               } else if ((c & 0xf0) == 0xe0) {
> >+                       if ((s[i++] & 0xc0) != 0x80 ||
> (s[i++] & 0xc0)
> >+ !=
> >0x80) {
> >+                               return 0;
> >+                       }
> >+               } else if ((c & 0xf8) == 0xf0) {
> >+                       if ((s[i++] & 0xc0) != 0x80 ||
> (s[i++] & 0xc0)
> >+ !=
> >0x80 || (s[i++] & 0xc0) != 0x80) {
> >+                               return 0;
> >+                       }
> >+               } else {
> >+                       return 0;
> >+               }
> >+       }
> >+       return 1;
> >+}
> >+
> >  static xmlNodePtr to_xml_string(encodeTypePtr type, zval *data, int
> > style, xmlNodePtr parent)
> >  {
> >         xmlNodePtr ret;
> >@@ -612,12 +638,12 @@
> >                         efree(str);
> >                         str = estrdup(xmlBufferContent(out));
> >                         new_len = n;
> >-               } else if (!xmlCheckUTF8(str)) {
> >+               } else if (!php_soap_xmlCheckUTF8(str)) {
> >                         soap_error1(E_ERROR,  "Encoding:
> string '%s'
> >is
> > not a valid utf-8 string", str);
> >                 }
> >                 xmlBufferFree(out);
> >                 xmlBufferFree(in);
> >-       } else if (!xmlCheckUTF8(str)) {
> >+       } else if (!php_soap_xmlCheckUTF8(str)) {
> >                 soap_error1(E_ERROR,  "Encoding: string
> '%s' is not a
> > valid utf-8 string", str);
> >         }
> >
> >
> >--
> >PHP CVS Mailing List (http://www.php.net/)
> >To unsubscribe, visit: http://www.php.net/unsub.php
>
>

-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to