Sun, 07 Jan 2001 12:16:15 +1100, Manuel M. T. Chakravarty <chak@cse.unsw.edu.au> pisze:
I think, we need the alloca and realloc versions, too.
We can't have malloc, alloca, realloc or poke. Only peek, with and new. We can't have poke because in general the space needed for the converted string is not known. Well, we could have poke with a parameter saying how long the buffer is, so the function never writes more. Is that functionality needed? Then OK for it. mallocCString and allocaCString would be exactly the same functions as mallocArray0 and allocaArray0, only with a more specific type. There is a little point in providing the same function under multiple names, unless it really makes things consistent, or unless they can diverge in future. But nobody has proposed freeArray, freeArray0 and freeCString (equivalent to free). Wait, in the Sven's message I see that mallocCString with String as the parameter. Then how it is different from newCString? For handling parts of C strings manually, reallocation of CString buffers and converting them to Haskell's lists in terms of C characters there are always *Array0 functions. *CString functions work on whole strings, and do some conversion to translate between CChar and Char. -- __("< Marcin Kowalczyk * qrczak@knm.org.pl http://qrczak.ids.net.pl/ \__/ ^^ SYGNATURA ZASTÊPCZA QRCZAK