Join Now

Hi, I'm Paul, but you can also call me Todd and I won't get upset.

SyExpat Port to OS 9.x

Paul.Todd | 21 June, 2006 21:12

I was going to post this on Sunday but with the uncharacteristically good British Summer and England playing Sweden
in football, this slipped over to Wednesday.

Originally I thought that porting SyExpat to OS 9.x would involve a large number of changes.
In the end this turned out to be not the case.

The simplest fix was to xmlparse.c. It seems that the expat guys mixed up the return code enum and the error
code enum, so changing it is all that is needed for the main expat source code.

A slightly tricker problem was the with GCCE. It seems that it likes to define XMLCALL to something. GCCE seems to think it supports Microsoft extensions but it only does it in some cases.I think it was _MSC_EXTENSIONS, so in order to fix this we need to make sure that expat_config.h is defined before expat.h is included in the source files. This will then define XMLCALL and so stop expat_external.h defining it to the default.

The only change then resolves to just make the SyExpat.cpp file include the expat_config file before expat.h
as this sets up a  number of defines that specify how the functions are to be exported and so this sorts out the export declarations not being handles correctly.

Hence we just define XML call as blank and this fixes the compiler issues. See expat_config.h for more
information.

This is now sufficient to be able to build SyExpat for OS 9.x and still retain backward compatibility.

Unfortunately I have run into rather a nasty issue with Carbide.vs and the standard C library.
The whole sorry tale is here - http://discussion.forum.nokia.com/forum/showthread.php?t=75575 so for the
moment it seems there are some serious OS9 issues to fix first, even in the maintentance release.

Thanks to Harri Salminen for his fix for name space parsing which has now bee incorporated as well.

If anyone has any specific problem areas in Symbian they would like covered please email me and I will try to knock something up to show it is supposed to work.

Next week I will look at how to use MobInfo (and CTelephony) as a number of people seem to have a problem understanding how to use active objects with these libraries.

Addendum:
I have just found out I cannot attach files to blog entries so I will put the actual revised code up on my website.

Comments

Re: SyExpat Port to OS 9.x

mitts | 30/08/2006, 15:45

There is now an unofficial fix for the C/estlib issue, thanks to Todd for verifying the solution. To pick up the fix, check out: http://discussion.forum.nokia.com/forum/showpost.php?p=235260&postcount=7
DO NOT APPLY THE FIX UNLESS YOU ARE EXPERIENCING THE EXACT SAME PROBLEM!

Re: SyExpat Port to OS 9.x

skumar_rao | 09/04/2007, 05:32

Hi Todd,
I was looking for your Port to the V9 of SyExpat. till now i am not able to find it. can you please send me the Direct link where i can download the your port.

thanks

Re: SyExpat Port to OS 9.x

zathr | 29/04/2008, 13:18

Hello,

in the end you said you will post the 3rd ed compatible version on your website. I suppose it might mean www.toddsoftware.com? In any case I found no such version.

Elsewhere there was SyExpat 2.0 (the parser generator version), but it seems to have the same problems.

So is the SyExpat basicly forgotten, or am I just not seeing something? :)

Thanks anyways for the all the work.

You must login to post comments. Login
 
 
Powered by LifeType
     
     RDF Facets:
     
     
     qfnZtopicQUqfnTopicZcppQ
     qfnZtopicQUqfnTopicZseriesE5f60Q
     qfnZtopicQUqfnTopicZseriesE5f80Q
     qfnZtypeQUqfnTypeZBlogContentQ
     qfnZtypeQUqfnTypeZBlogE45ntryQ
     qfnZtypeQUqfnTypeZCommunityContentQ
     qfnZtypeQUqfnTypeZWebpageQ
     qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX