|
Richard,
I had already solved the x2c() issue another way. .(See begining of
part 2 thread). The problem is that while the message is intact in the CGI
program that processes it, a copy is forwarded via a socket connection to a
FreedBSD (Unix) box for additional processing and that copy is NOT intact.
To prepare that transmission I obviously have to put the message back into
ASCII before writing it to the socket.. Since the xlate table looks right,
and the socket should be transparent I am not sure where the braces are
getting lost or what the issue is yet....
By the way it's not just the [], also saw about 5 other characters
get corrupted, like the ^ and ! and |.......
Thks for your time.
JMS...
----- Original Message -----
From: "Rich Duzenbury" <rduz@westernmidrange.com>
To: <web400@midrange.com>
Sent: Saturday, November 30, 2002 12:37 AM
Subject: Re: [WEB400] Stuck in unesacpe (Part 2)
> I ran a sample conversion from codepage 37 to codepage 437, and the left
> and right brace characters come out as 0x5B and 0x5D, as you suggest they
> should. Same for codepage 819.
>
> I made a small html file with the braces, and it shows up in the browser
> just fine. Hmmm.
>
> OK, so I re-read the description of your problem. Looks like there is a
> problem with the x2c routine.
>
> It relies on the fact that in ASCII, the numbers 0-9 fall before the
> letters. In EBCDIC, the opposite is the case, the numbers fall after the
> letters. A small change to the logic should get it working again:
>
> char x2c(char *what)
> {
> register char
> digit;
>
> digit = ((what[0] >= 'A' && what[0] <= 'F')
> ?
> ((what[0] & 0xdf) - (int) 'A') + 10 : // Calculate for
> A-F
> (what[0]-'0')); // Calculate for
> 0-9
> digit *=
> 16;
> digit +=((what[1] >= 'A' && what[1] <= 'F')
> ?
> ((what[1] & 0xdf) - (int) 'A') + 10 : // Calculate for
> A-F
> (what[1]-'0')); // Calculate for
> 0-9
>
> return(digit);
>
> }
>
>
> OK, the braces seem to come out ok now. I'm suspicious of the 'bitwise
> and' nonsense. Why on earth is this routine stripping bit five? I'd
> consider removing it:
>
> char x2c(char *what) {
> register char digit;
>
> digit = ((what[0] >= 'A' && what[0] <= 'F') ?
> (what[0] - (int) 'A') + 10 : // Calculate for A-F
> (what[0] - '0')); // Calculate for 0-9
> digit *= 16;
> digit +=((what[1] >= 'A' && what[1] <= 'F') ?
> (what[1] - (int) 'A') + 10 : // Calculate for A-F
> (what[1] - '0')); // Calculate for 0-9
>
> return(digit);
> }
>
> At 10:20 PM 11/29/02, you wrote:
> >Rich,
> >
> > Good idea but still no joy !! With QUSRSYS/QTCPASC.......
> >
> > JMS...
> >
> >----- Original Message -----
> >From: "Rich Duzenbury" <rduz@westernmidrange.com>
> >To: <web400@midrange.com>
> >Sent: Friday, November 29, 2002 10:22 PM
> >Subject: Re: [WEB400] Stuck in unesacpe (Part 2)
> >
> >
> > > At 08:55 PM 11/29/02, you wrote:
> > > >Well,
> > > >
> > > > New routine works: But I am loosing the Left [ and Right ]
when
> >I
> > > >pass them through to the server app.. Checked the ccsid and it is set
to
> >37.
> > > >for the HTTP Job... Translate is done with ...
> > > >
> > > > QDCXLATE(fdlen, ptr, "QASCII ", "QSYS ");
> > > >
> > > > The table QASCII is 0x4a to 0x58 and 0x5a to 0x5D Which
is
> >right
> > > >...
> > > I think most recent web browsers are codepage 819 so I suggest you use
> > > iconv api. If that's not an option, I seem to remember somebody
saying
> > > that table QTCPASC was a bit better than QASCII.
> > >
> > >
> > > _______________________________________________
> > > This is the Web Enabling the AS400 / iSeries (WEB400) mailing list
> > > To post a message email: WEB400@midrange.com
> > > To subscribe, unsubscribe, or change list options,
> > > visit: http://lists.midrange.com/cgi-bin/listinfo/web400
> > > or email: WEB400-request@midrange.com
> > > Before posting, please take a moment to review the archives
> > > at http://archive.midrange.com/web400.
> > >
> >
> >_______________________________________________
> >This is the Web Enabling the AS400 / iSeries (WEB400) mailing list
> >To post a message email: WEB400@midrange.com
> >To subscribe, unsubscribe, or change list options,
> >visit: http://lists.midrange.com/cgi-bin/listinfo/web400
> >or email: WEB400-request@midrange.com
> >Before posting, please take a moment to review the archives
> >at http://archive.midrange.com/web400.
>
> Regards,
> Rich
>
> _______________________________________________
> This is the Web Enabling the AS400 / iSeries (WEB400) mailing list
> To post a message email: WEB400@midrange.com
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/cgi-bin/listinfo/web400
> or email: WEB400-request@midrange.com
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/web400.
>
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.