Upon further review (Its been a long time since I looked at this stuff, was
written in 1997) I am NOT "calling" QtmhRdStin. The program just simply
defines 2 input parameters. The first is 5 charecters and the second is 4
charecters. These 2 parameters are all that is required. The link is created
via another rpg cgi. Because the second parameter can have blanks in it I
spin thru each posiotion and replace blanks with %20 when I create the url.
This worked up until V5R4.

-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx] On
Behalf Of web400@xxxxxxxxxxxxxxxx
Sent: Wednesday, January 03, 2007 2:49 PM
To: Web Enabling the AS400 / iSeries
Subject: Re: [WEB400] Cgi Conversion


Thanks for the input. I am using the QtmhRdStin api to parse the 
query_string. Yes, the conversion mode was a typo. My config says 
%%EBCDIC/MIXED%%.

QtmhRdStin does not parse anything.  It just reads the standard input stream
of the program.

The reason that characters are encoded is so that they're not confused with
delimiters.  If QtmhRdStin converted them from %xx to actual characters, you
would no longer be able to tell the difference between the delimiters and
the encoded characters.

For example, consider a form that asks who to ship a package to.  It'd have
a field for the ship-to name and the city.  In the "name" field, you key
"John & Mary".  In the city field, you key "Chicago".  This is what gets
sent from the browser to the HTTP server:

name=John+%26+Mary&City=Chicago

If the HTTP server (Apache or anything else) would convert the %26 to the &
character, you'd have this:

  name=John & Mary&City=Chicago

Now you have a problem.  & is supposed to be a delimiter that separates one
field from another!  Notice that there's a & between the value of the "name"
field and the "City" field.  That's what & is for... it's a separator.  If
you change %26 to &, now "Mary" appears to be a field by itself.

You can only decode the hex values AFTER you've parsed it into fields and
values.  Therefore, it's not possible for QtmhRdStin() to do it!
--
This is the Web Enabling the AS400 / iSeries (WEB400) mailing list To post a
message email: WEB400@xxxxxxxxxxxx To subscribe, unsubscribe, or change list
options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/web400.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].