[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Trouble Upgrading to new release



Thank you for a speedy reply late on a Friday afternoon.

Because so many of our programs use a EXPAT, if I installed the 2.0.0
version, I would have to recreate them all, right?
So can I stay at the older EXPAT release, and still install the 1.17
version of HTTPAI?

Linda Landreth
Park University Enterprises, Inc.
9757 Metcalf Avenue
Overland Park, KS  66212
llandreth@xxxxxxxxx
(913) 967 - 8321 direct


                                                                                                                    
                      Scott Klement                                                                                 
                      <sk@xxxxxxxxxxxxxxxx>             To:       HTTPAPI and FTPAPI Projects                       
                      Sent by:                           <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>                            
                      ftpapi-bounces@xxxxxxxxxxx        cc:                                                         
                      klement.com                       Subject:  Re: Trouble Upgrading to new release              
                                                                                                                    
                                                                                                                    
                      03/30/2007 02:28 PM                                                                           
                      Please respond to HTTPAPI                                                                     
                      and FTPAPI Projects                                                                           
                                                                                                                    
                                                                                                                    




WHY ARE YOU GETTING THIS ERROR?

On my site, I have two versions of Expat.

a) Version 2.0.0 is compiled to output UTF-16 Unicode to the handlers.
b) Version 1.95.8 is compiled to output UTF-8 Unicode to the handlers.

Now, if you want to re-compile Expat (using the ILE C compiler) you can
change that behavior if you want.  You can change 2.0.0 to UTF-8, or
change 1.95.8 to UTF-16.  But if you use the precompiled copies on my
site, they're configured as (A) and (B), above.

WHY DID SCOTT CHANGE IT?

Why did I make that change?  Although UTF-8 worked very well, the ILE
RPG language does not natively understand UTF-8.  So to use the UTF-8
versions properly in ILE RPG, you have to call the iconv() API.  This
adds a significant amount of extra complexity in coding to the RPG
programmer.

UTF-16, however, *is* natively supported by RPG.  So instead of using
iconv() to convert from Unicode to EBCDIC, you can use the %char() BIF,
which greatly simplifies the RPG code.

WHY DOES CHANGING IT CAUSE A SIGNATURE VIOLATION?

If your program was coded to receive UTF-8 strings, and I changed the
service program to use UTF-16, then your programs would have the dreaded
"unpredictable results" that IBM warns us against.  Rather than risk
causing damage to data in your production files, I thought it was safest
to deliberately change the signature and break backward compatibility.


IF I DON'T WANT TO CHANGE MY PROGRAMS, WHAT CAN I DO?

If you use Expat directly, put a copy of the UTF-8 Expat into a library
of your own, and bind to that copy rather than the one in LIBHTTP or
LIBEXPAT.

If you use HTTPAPI rather than calling Expat directly, you don't need to
change your programs, as HTTPAPI takes care of the changes for you.





llandreth@xxxxxxxxx wrote:
> I was preparing to upgrade to release 1.17 of HTTPAPI.
>
> 1.  First I installed release 2.0 of EXPAT.
> 2.  Then I installed 1.17 of HTTPAPI.  Of course, the install blew on
> EXPAT.
> 3.  I created a duplicate object of EXPAT service program in HTTAPI, and
> re-ran the HTTPAPI install command.
>
> 4. Now, my expat program will not run.  Execution error is " Program
> signature violation".
> 5. The program will not even recompile (copy of XPATH).
>
> Error is on this line:   p = XML_ParserCreate(*NULL);
> Error:  *RNF7536 30      1 The type of the parameter specified for the
call
> does not match the prototype.
> 6.  I am restoring my LIBEXPAT and LIBHTTP,  which should fix the problem
> for now.   But I did not expect to have to recompile objects just to
> upgrade to new releases.
>
> What have I done wrong?
>
> regards,
>
>
> Linda Landreth
> Park University Enterprises, Inc.
> 9757 Metcalf Avenue
> Overland Park, KS  66212
> llandreth@xxxxxxxxx
> (913) 967 - 8321 direct
>
>
> -----------------------------------------------------------------------
> This is the FTPAPI mailing list.  To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
> -----------------------------------------------------------------------

-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------





-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------