You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by pg...@sweng.stortek.com on 1999/12/02 00:19:47 UTC

Re: OS/390 Translation

In a recent note, Greg Ames said:

> Date: Wed, 01 Dec 1999 17:01:19 -0500
> 
> >   +/* Use OS/390's built-in translation function to initialize tables.
> >   + */
> 
> I like the basic idea.  It's not as flexible as iconv() though, which we probably want to use eventually.
> 
I suspect they're pretty equivalent.  In fact, the RM states:

          The following are the possible values of errno: (This function  
   may internally call iconv_open() and iconv(). The errno's returned by
   these functions are propagated without modification.)

__atoe_l() has fewer arguments.  This makes it easier to use.  :-)
And it must set up a table, rather than calling iconv() (or __atoe_l())
when needed, because there are macros that access individual characters
in os_toebcdic[] directly.

> > +    os_toascii[012] = 012;
> > +    os_toascii[015] = 015;
> I think you mean:
>      os_toascii[\012] = \012;
>      os_toascii[\015] = \015;

I stand by my usage.  Does anyone want to vote on it?

> to pass thru the \012 and \015 EBCDIC constants contained in Apache unmolested to the ASCII world.
> 
> btw, is there a reason why we can't just use the symbolics CR and LF from httpd.h rather than \012 and \015 throughout Apache?  Seems like that would simplify things quite a bit  (\r and \n might
> cause trouble on MacOS and/or AS/400.)  A quick grep on my Linux box gives me 49 lines containing either \012 or \015.  Changing these to symbolics seems manageable if there's no gotchas.
> 
... but should these be \012 and \015 on an EBCDIC platform, or
\025 and \015?  In any case, these symbolics can't be incorporated
into constant strings.  And see Martin Kraemer's comment in
src/README.EBCDIC:

* This port therefore features a built-in protocol level conversion
  for the server-internal strings (which the compiler translated to
  EBCDIC strings) and server-generated documents. The hard coded
  ASCII escapes \012 and \015 which are ubiquitious in the server
  code are an exception: they are not converted to ASCII a second
  time.

It all seems very delicately balanced; I'm inclined to try not
to upset it.

-- gil
-- 
StorageTek
INFORMATION made POWERFUL