Re: 01.16.00 xmlrpc on windows ( utf related issues).

jayshankar nair <[email protected]> Tue, 13 Jan 2009 20:59:05 -0800 (PST)
Newsgroups gmane.text.xml.rpc.specification
Message-ID <[email protected]>
Hi Troy,

The same piece of code is working fine in linux. In windows its giving this particular problem.

Also if two-byte representation is needed, do i need to enable FLAGS in code. I mean in this case it would just set to FAULT and doesn't malloc for valuepp.

Please let me know.

Thanks,
Jay

--- On Tue, 1/13/09, Troy Farrell <[email protected]> wrote:
From: Troy Farrell <[email protected]>
Subject: Re: [xml-rpc] 01.16.00 xmlrpc on  windows ( utf related issues).
To: [email protected]
Date: Tuesday, January 13, 2009, 7:05 AM










    
            Greetings Jay.





It seems by your log that you are passing invalid data to your method. 


UTF-8 can only represent values 0x00-0x7f in single-byte format.  When the 


value reaches0x80, two-byte representation is needed.  For example, 0x80 


is represented ("encoded") as 0xc280.  See the Wikipedia article on UTF0-8 


for more information:


http://en.wikipedia .org/wiki/ UTF-8





You may also find your server's documentation (including the rant on 


XML-RPC strings) useful:


http://xmlrpc- c.sourceforge. net/doc/libxmlrp c.html#stringtyp e





Cheers.


Troy





xml-rpc@yahoogroups .com wrote on 01/13/2009 04:23:05 AM:





> [image removed] 


> 


> [xml-rpc] 01.16.00 xmlrpc on windows ( utf related issues).


> 


> jayshankar nair 


> 


> to:


> 


> xml-rpc


> 


> 01/13/2009 04:23 AM


> 


> Sent by:


> 


> xml-rpc@yahoogroups .com


> 


> Please respond to xml-rpc


> 


> Hi,


> 


> I am currently testing my application on windows with xmlrpc 01.16.


> 00. I am getting utf related problems. This occurs when i try to to 


> call function xmlrpc::value_ struct const data(param1) . It fails in 


> the utf8 routine.


> 


> XMLRPC Logs are as below. PLease let me know your opinion.


> 


> Thanks,


> Jay


> 


> value.cpp:value_ struct:763


> value.cpp:value_ struct:778


> value.cpp:value_ struct:780


> value.cpp:value_ struct:791


> xmlrpc_data. c:xmlrpc_ INCREF:92 refcount= 1


> xmlrpc_data. c:xmlrpc_ INCREF:94 ref count = 2 addr = 2f63338


> value.cpp:value_ struct:793


> xmlrpc_data. c:xmlrpc_ DECREF:101


> xmlrpc_data. c:xmlrpc_ DECREF:105 addr=2f63338


> 106:refcount = 2


> 108:refcount = 1


> xmlrpc_data. c:xmlrpc_ DECREF:109


> xmlrpc_data. c:xmlrpc_ DECREF:113


> xmlrpc_data. c:xmlrpc_ INCREF:92 refcount= 1


> xmlrpc_data. c:xmlrpc_ INCREF:94 ref count = 2 addr = 2f0dde0


> xmlrpc_data. c:xmlrpc_ DECREF:101


> xmlrpc_data. c:xmlrpc_ DECREF:105 addr=2f0dde0


> 106:refcount = 2


> 108:refcount = 1


> xmlrpc_data. c:xmlrpc_ DECREF:109


> xmlrpc_data. c:xmlrpc_ DECREF:113


> value.cpp:operator= :136


> xmlrpc_data. c:xmlrpc_ INCREF:92 refcount= 1


> xmlrpc_data. c:xmlrpc_ INCREF:94 ref count = 2 addr = 2f0dde0


> xmlrpc_data. c:xmlrpc_ DECREF:101


> xmlrpc_data. c:xmlrpc_ DECREF:105 addr=2f0dde0


> 106:refcount = 2


> 108:refcount = 1


> xmlrpc_data. c:xmlrpc_ DECREF:109


> xmlrpc_data. c:xmlrpc_ DECREF:113


> xmlrpc_data. c:xmlrpc_ INCREF:92 refcount= 1


> xmlrpc_data. c:xmlrpc_ INCREF:94 ref count = 2 addr = 2f0dad8


> xmlrpc_data. c:xmlrpc_ DECREF:101


> xmlrpc_data. c:xmlrpc_ DECREF:105 addr=2f0dad8


> 106:refcount = 2


> 108:refcount = 1


> xmlrpc_data. c:xmlrpc_ DECREF:109


> xmlrpc_data. c:xmlrpc_ DECREF:113


> value.cpp:operator= :136


> xmlrpc_data. c:xmlrpc_ INCREF:92 refcount= 1


> xmlrpc_data. c:xmlrpc_ INCREF:94 ref count = 2 addr = 2f0dad8


> xmlrpc_data. c:xmlrpc_ DECREF:101


> xmlrpc_data. c:xmlrpc_ DECREF:105 addr=2f0dad8


> 106:refcount = 2


> 108:refcount = 1


> xmlrpc_data. c:xmlrpc_ DECREF:109


> xmlrpc_data. c:xmlrpc_ DECREF:113


> xmlrpc_data. c:xmlrpc_ INCREF:92 refcount= 1


> xmlrpc_data. c:xmlrpc_ INCREF:94 ref count = 2 addr = 2f50c00


> xmlrpc_data. c:xmlrpc_ DECREF:101


> xmlrpc_data. c:xmlrpc_ DECREF:105 addr=2f50c00


> 106:refcount = 2


> 108:refcount = 1


> xmlrpc_data. c:xmlrpc_ DECREF:109


> xmlrpc_data. c:xmlrpc_ DECREF:113


> value.cpp:operator= :136


> xmlrpc_data. c:xmlrpc_ INCREF:92 refcount= 1


> xmlrpc_data. c:xmlrpc_ INCREF:94 ref count = 2 addr = 2f50c00


> xmlrpc_data. c:xmlrpc_ DECREF:101


> xmlrpc_data. c:xmlrpc_ DECREF:105 addr=2f50c00


> 106:refcount = 2


> 108:refcount = 1


> xmlrpc_data. c:xmlrpc_ DECREF:109


> xmlrpc_data. c:xmlrpc_ DECREF:113


> xmlrpc_data. c:xmlrpc_ INCREF:92 refcount= 1


> xmlrpc_data. c:xmlrpc_ INCREF:94 ref count = 2 addr = 2efedb0


> xmlrpc_data. c:xmlrpc_ DECREF:101


> xmlrpc_data. c:xmlrpc_ DECREF:105 addr=2efedb0


> 106:refcount = 2


> 108:refcount = 1


> xmlrpc_data. c:xmlrpc_ DECREF:109


> xmlrpc_data. c:xmlrpc_ DECREF:113


> value.cpp:operator= :136


> xmlrpc_data. c:xmlrpc_ INCREF:92 refcount= 1


> xmlrpc_data. c:xmlrpc_ INCREF:94 ref count = 2 addr = 2efedb0


> xmlrpc_data. c:xmlrpc_ DECREF:101


> xmlrpc_data. c:xmlrpc_ DECREF:105 addr=2efedb0


> 106:refcount = 2


> 108:refcount = 1


> xmlrpc_data. c:xmlrpc_ DECREF:109


> xmlrpc_data. c:xmlrpc_ DECREF:113


> xmlrpc_data. c:xmlrpc_ INCREF:92 refcount= 1


> xmlrpc_data. c:xmlrpc_ INCREF:94 ref count = 2 addr = 2efeae0


> xmlrpc_data. c:xmlrpc_ DECREF:101


> xmlrpc_data. c:xmlrpc_ DECREF:105 addr=2efeae0


> 106:refcount = 2


> 108:refcount = 1


> xmlrpc_data. c:xmlrpc_ DECREF:109


> xmlrpc_data. c:xmlrpc_ DECREF:113


> value.cpp:operator= :136


> xmlrpc_data. c:xmlrpc_ INCREF:92 refcount= 1


> xmlrpc_data. c:xmlrpc_ INCREF:94 ref count = 2 addr = 2efeae0


> xmlrpc_data. c:xmlrpc_ DECREF:101


> xmlrpc_data. c:xmlrpc_ DECREF:105 addr=2efeae0


> 106:refcount = 2


> 108:refcount = 1


> xmlrpc_data. c:xmlrpc_ DECREF:109


> xmlrpc_data. c:xmlrpc_ DECREF:113


> 


> value.cpp:value_ struct:763


> value.cpp:value_ struct:778


> value.cpp:value_ struct:780


> value.cpp:value_ struct:784: 0


> xmlrpc_data. c:xmlrpc_ INCREF:92 refcount= 1


> xmlrpc_data. c:xmlrpc_ INCREF:94 ref count = 2 addr = 2f50c00


> value.cpp:value_ struct:788


> value.cpp:addToCStr uct:206


> xmlrpc_struct. c:xmlrpc_ struct_set_ value_n:444


> xmlrpc_struct. c:xmlrpc_ struct_set_ value_n:453


> xmlrpc_build. c:xmlrpc_ build_value: 401


> xmlrpc_build. c:xmlrpc_ build_value_ va:372


> xmlrpc_build. c:xmlrpc_ build_value_ va:378


> xmlrpc_build. c:xmlrpc_ build_value_ va:381


> xmlrpc_build. c:getValue: 264:s


> xmlrpc_build. c:getValue: 285


> xmlrpc_build. c:getString: 41


> xmlrpc_build. c:getString: 48


> xmlrpc_string. c:xmlrpc_ string_new_ lp:731


> xmlrpc_string. c:stringNew: 699


> xmlrpc_string. c:validateUtf: 577


> xmlrpc_string. c:validateUtf: 579


> value =c


> utf8.c:xmlrpc_ validate_ utf8:278


> utf8_data =c


> utf8.c:decode_ utf8:145 c


> utf8.c:decode_ utf8:146


> utf8.c:decode_ utf8:148


> utf8.c:decode_ utf8:150


> utf8.c:decode_ utf8:153


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = c


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = d


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = e


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = f


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = g


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = h


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = i


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = j


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = k


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = l


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = m


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = n


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = o


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = p


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = q


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = r


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = s


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = t


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = u


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = v


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = w


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = x


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = y


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = z


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = {


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = |


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = }


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = ~


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = ⌂


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:167


> utf8.c:decode_ utf8:160


> utf8.c:decode_ utf8:161


> char = Ç


> utf8.c:decode_ utf8:164


> utf8.c:decode_ utf8:172


> utf8.c:decode_ utf8:174


> utf8.c:decode_ utf8:181


> length = 0( fault occured here).


> utf8.c:decode_ utf8:266


> xmlrpc_string. c:stringNew: 701


> xmlrpc_build. c:xmlrpc_ build_value_ va:383


> xmlrpc_build. c:xmlrpc_ build_value: 405


> xmlrpc_struct. c:xmlrpc_ struct_set_ value_n:456


> xmlrpc_struct. c:xmlrpc_ struct_set_ value_n:459


> xmlrpc_data. c:xmlrpc_ DECREF:101


> xmlrpc_data. c:xmlrpc_ DECREF:105 addr=ffffffff( invalid address)




[Non-text portions of this message have been removed]




      

    
    
	
	 
	
	








	


	
	


      

[Non-text portions of this message have been removed]


------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/xml-rpc/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/xml-rpc/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[email protected] 
    mailto:[email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/