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 thread ...

Follow-Ups:
Replies:

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

This mailing list archive is Copyright 1997-2024 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.