>>>> "Ben" == Ben Wing <ben(a)666.com>
writes:
Ben> i will be implementing piece by piece, as necessary. here's
Ben> what i have so far, and i'd like comments:
What are these "C strings where non-ASCII characters are illegal"? I
thought a C string (as defined by <string.h>) was a char[],
with the length determined by the position of the first ASCII NULL.
Do you mean that, eg, trying to feed it an ISO-8859-1 string will
cause an abort with error-checking? How about control characters (C1,
obviously, but C0, too)? These are all legal characters in both the
current leading-byte representation and any Unicode-based
representation.
If the SOURCE was an ei_string and the DESTINATION a C string, that
restriction might make sense. Is this just a typo?
But I really don't see where you're going with that kind of
restriction. Which byte values make sense in a given char[] object is
going to depend very much on context, and I don't think that belongs
at this level.
Cf:
eicpy_c (eistr, c_string):
... from an ASCII null-terminated string. Non-ASCII characters in
the string are *ILLEGAL* (read abort() with error-checking defined).
eicpy_c_len (eistr, c_string, len):
... from an ASCII string, with length specified. Non-ASCII characters
in the string are *ILLEGAL* (read abort() with error-checking defined).
BTW, your mailer's (I assume you are cutting and pasting from source
files with what I would consider very long lines for text) wrapping
behavior leaves a LOT to be desired.
--
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences Tel/fax: +81 (298) 53-5091
_________________ _________________ _________________ _________________
What are those straight lines for? "XEmacs rules."