[
Lists Home |
Date Index |
Thread Index
]
> have something like
>
> genxText(genxWriter w, utf8Byte * start, utf8Byte * end)
Yes.
> Of course if you want to null-terminate, you can, just do
>
> genxText(w, buf, NULL)
I would prefer an interface without null pointers in arguments. This
is completely a taste issue.
how about
getTextZ(w, buf)
?
>
> Two questions:
> - if you have a zero byte in the string before you get to the end mark,
> should it just stop, or throw an error? The first is more consistent
> with C culture (cf strncpy) but the latter a bit more stringent.
> Moderately leaning to just stopping.
> - if the stop marker is stupidly in the middle of a UTF-8 character,
> genx should detect this and declare an error. The existence of this
> situation is the only good argument for a count rather than a stopper.
> But not quite good enough. -Tim
If one asked about null-terminated string, zero should be treated as the terminator.
If one didn't, then it is an error and should be flagged as such.
Imagine off-by-one; it will never be caught untill too late if it just stops.
David Tolpin
|