Email list hosting service & mailing list manager

(Previous discussion continued)
Re: no constants please Richard Kelsey (04 Jan 2004 18:09 UTC)
Re: no constants please felix (04 Jan 2004 19:28 UTC)
Re: no constants please Richard Kelsey (04 Jan 2004 20:06 UTC)
Re: no constants please Tom Lord (04 Jan 2004 21:39 UTC)
Re: no constants please Tom Lord (04 Jan 2004 22:09 UTC)
Re: no constants please Richard Kelsey (04 Jan 2004 22:58 UTC)
Re: no constants please Tom Lord (05 Jan 2004 01:16 UTC)
Re: no constants please Tom Lord (05 Jan 2004 01:45 UTC)
Re: no constants please Richard Kelsey (05 Jan 2004 11:40 UTC)
Re: no constants please Tom Lord (05 Jan 2004 16:51 UTC)
Re: no constants please Richard Kelsey (05 Jan 2004 17:48 UTC)
Re: no constants please Tom Lord (05 Jan 2004 18:50 UTC)
Re: no constants please Michael Sperber (05 Jan 2004 18:48 UTC)
Re: no constants please Tom Lord (05 Jan 2004 22:26 UTC)
Re: no constants please Michael Sperber (06 Jan 2004 07:42 UTC)
I don't believe in "(may GC)" Tom Lord (05 Jan 2004 01:21 UTC)
Re: I don't believe in "(may GC)" Richard Kelsey (05 Jan 2004 12:06 UTC)
Re: I don't believe in "(may GC)" Shiro Kawai (05 Jan 2004 12:45 UTC)
Re: I don't believe in "(may GC)" bear (05 Jan 2004 18:16 UTC)
Re: I don't believe in "(may GC)" Tom Lord (05 Jan 2004 17:00 UTC)
Re: I don't believe in "(may GC)" bear (05 Jan 2004 17:53 UTC)
Re: I don't believe in "(may GC)" tb@xxxxxx (06 Jan 2004 01:39 UTC)
Re: I don't believe in "(may GC)" Michael Sperber (06 Jan 2004 07:39 UTC)
Re: no constants please Tom Lord (05 Jan 2004 01:31 UTC)
Re: no constants please Tom Lord (05 Jan 2004 01:38 UTC)
Re: no constants please Richard Kelsey (05 Jan 2004 12:16 UTC)
Re: no constants please Tom Lord (05 Jan 2004 18:05 UTC)
Re: no constants please Michael Sperber (05 Jan 2004 19:03 UTC)
Re: no constants please tb@xxxxxx (06 Jan 2004 01:37 UTC)
Re: no constants please Richard Kelsey (06 Jan 2004 02:14 UTC)
Re: no constants please Tom Lord (06 Jan 2004 02:55 UTC)
Re: no constants please tb@xxxxxx (06 Jan 2004 02:31 UTC)
Re: no constants please Richard Kelsey (06 Jan 2004 03:09 UTC)
Re: no constants please tb@xxxxxx (06 Jan 2004 03:14 UTC)
Re: no constants please Tom Lord (06 Jan 2004 04:32 UTC)

Re: I don't believe in "(may GC)" bear 05 Jan 2004 18:16 UTC


On Mon, 5 Jan 2004, Shiro Kawai wrote:

>From: Richard Kelsey <xxxxxx@s48.org>

>>     SCHEME_EXTRACT_STRING_CONTENTS(scheme_value, index, count, buffer)
>>
>> which copies 'count' characters starting from 'index' into 'buffer'
>> would be better.  Presumably this can be done without GCing.
>
>
>(BTW, The semantics of 'index' and 'count' need to be clearified,
>w.r.t. the what-is-a-character issue.)

I emphatically agree. I'd suggest breaking it into two functions:

int SCHEME_SUBSTRING_BYTE_COUNT(scheme_value, index, count)

would take a scheme string as scheme_value and two integers index and count.
It would start at index in the string (as scheme counted characters) and
tell you how many bytes you needed to hold the next <count> characters (again,
as scheme counts characters).

int SCHEME_EXTRACT_STRING_CONTENTS(scheme_value, index, count, buffer, bufsize)

would do the rest of the job, specifying that scheme_value must be a
scheme_string, index is the index as scheme counts characters, count
is in characters as scheme counts characters, bufsize is a maximum
number of bytes to copy into the buffer, and the function returns the
actual number of bytes copied into buffer.  This should give you some
grace with Multibyte character sets, although you'll probably still
want to apply some transformations on the C side to compensate for
different *kinds* of multibyte character sets.

				Bear