Bidi B2 - GetCharacterPlacement order array
wine-devel at shemesh.biz
Mon Jun 2 11:30:00 CDT 2003
David Laight wrote:
>Be aware that strncyp() rarely DTRT, in particular:
>- it doesn't guarantee to zero terminate the target
>- it is required to zero fill the target buffer
>Neither of these is usually desirable.
Well aware of both. Thanks. I'm routinely giving lectures about them
Since the buffer is not zero terminated to begin with, 1 is not a
problem. Since the loop that strncpy replaces copied n bytes over from
the old buffer to the new one, neither is 2. This does impose the
theoretical problem that if the original string WAS zero terminated, and
the NULL was not the last WCHAR in the buffer, we change the semantics.
I doubt very much, however, that you will find a program that relies on
this. I don't even know what Windows does under the same circumstances.
>Many systems have a strlcpy() function which does what you want much
Well aware of that too. strncpy is really the most fitting here. Trust me.
>OTOH is the target buffer can be too short with valid data, they you
>need to (typically) dynamically allocate a buffer.
Not applicable to GetCharacterPlacement.
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/
More information about the wine-devel