[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
LYNX-DEV EBCDIC and OS/390
From: |
pg |
Subject: |
LYNX-DEV EBCDIC and OS/390 |
Date: |
Sun, 18 Jan 1998 00:15:42 -0700 (MST) |
As I make slow, intermittent progress with porting Lynx to OS/390,
a number of questions occur:
I'm digging out all code sensitive constructs and changing them,
#ifdef'ing where it seems appropriate. For example, I'm
substituting CH_ESC wherever I find '\033' (or maybe just 27).
I've created a header file containing:
#ifndef CH_ESC
#ifdef EBCDIC
#define CH_DEL '\x07'
#define CH_ESC '\x27'
#define CH_ESC_PAR '\x27'
#define CH_HICTL '\x3f'
#define CH_NBSP '\x41'
#define CH_SHY '\xca'
#else /* EBCDIC */
#define CH_ESC '\033'
#define CH_DEL '\177'
#define CH_ESC_PAR '\233'
#define CH_HICTL '\237'
#define CH_NBSP '\240'
#define CH_SHY '\255'
#endif /* EBCDIC */
#endif /* CH_ESC */
Questions:
o Are the identifiers I chose suitable? I chose the "CH_"
prefix because it's unique in a "grep" through the source code.
o Where should this header file go/what should it be called? For
now, I'm using WWW/Library/Implementation/LYCharVals.h. Is this
consistent with existing Lynx naming conventions?
o Would it be better to incorporate the definitions in an existing
header file, perhaps WWW/Library/Implementation/tcp.h?
o Will the Lynx developer community accept such pervasive changes
to the Lynx source code?
I've had to shuffle two character attribute tables, keymap and
EditBinding, from ASCII to EBCDIC order.
o I do this in executable code -- I believe this is more
maintainable than static initializations. Is there a
better way?
o The shuffle code is in the initialization part of LYMain.c
(with #ifdef's for EBCDIC only). Is there a better place?
o Will I encounter other such tables that need to be shuffled?
o Are the recent character translation tables any use to me?
I suspect not, since the underlying assumption is that
whatever the external character set, Lynx itself runs
in ASCII.
Thanks for your attention,
gil
- LYNX-DEV EBCDIC and OS/390,
pg <=