On Sun, Sep 21, 2003 at 08:48:55AM -0700, Gregor N. Purdy wrote: > The next change is a change to the IO layer. In include/parrot/io.h > we change struct _ParrotIOLayerAPI to have two versions of C string > writing: > > INTVAL (*PutSc)(theINTERP, ParrotIOLayer * l, /* C-style string put > */ > ParrotIO * io, const char * s); > INTVAL (*PutSl)(theINTERP, ParrotIOLayer * l, /* Explicit length > string put */ > ParrotIO * io, const char * s, INTVAL len); > > and chase down and fix all the things this breaks. The reason is we > might need to output a buffer of stuff that contains an interior zero > byte, which would throw off the old way of doing things.
Instead could we just ditch the C-style put? (and make the layer table one pointer smaller) Anyone who wants to put a \0 terminated string can do the strlen themselves. (Or we could provide a helpful macro) Nicholas Clark