Hi,

I think, you are right.
I will add them.

Thanks. Dmitry.

> -----Original Message-----
> From: Marcus Boerger [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, September 07, 2004 22:46
> To: Dmitry Stogov
> Cc: [EMAIL PROTECTED]
> Subject: Re: [PHP-CVS] cvs: php-src /ext/soap php_encoding.c
> 
> 
> Hello Dmitry,
> 
>   that's missing a few lines:
> 
>                 } else if ((c & 0xfc) == 0xf8) {
>                         if ((s[i++] & 0xc0) != 0x80 || 
> (s[i++] & 0xc0) != 0x80 || (s[i++] & 0xc0) != 0x80 || (s[i++] 
> & 0xc0) != 0x80) {
>                                 return 0;
>                         }
>                 } else if ((c & 0xfe) == 0xfc) {
>                         if ((s[i++] & 0xc0) != 0x80 || 
> (s[i++] & 0xc0) != 0x80 || (s[i++] & 0xc0) != 0x80 || (s[i++] 
> & 0xc0) != 0x80 || (s[i++] & 0xc0) != 0x80) {
>                                 return 0;
>                         }
> 
> regards
> marcus
> 
> 
> Tuesday, September 7, 2004, 4:34:46 PM, you wrote:
> 
> > dmitry              Tue Sep  7 10:34:46 2004 EDT
> 
> >   Modified files:              
> >     /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?r1=1.74&r2
> > =1.75&ty=u
> > Index: php-src/ext/soap/php_encoding.c
> > diff -u php-src/ext/soap/php_encoding.c:1.74
> > php-src/ext/soap/php_encoding.c:1.75
> > --- php-src/ext/soap/php_encoding.c:1.74    Thu Aug 26 14:40:10 2004
> > +++ php-src/ext/soap/php_encoding.c Tue Sep  7 10:34:46 2004
> > @@ -17,7 +17,7 @@
> >    |          Dmitry Stogov <[EMAIL PROTECTED]>               
>            
> >   
> > 
> +-------------------------------------------------------------
> ---------+
> >  */
> > -/* $Id: php_encoding.c,v 1.74 2004/08/26 18:40:10 dmitry Exp $ */
> > +/* $Id: php_encoding.c,v 1.75 2004/09/07 14:34:46 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);
> >     }
>  
> 
> 
> 
> 
> -- 
> Best regards,
>  Marcus                            mailto:[EMAIL PROTECTED]
> 
> 

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

Reply via email to