Il 29/04/2014 10:42, Michael Tokarev ha scritto:
>>> > Also replace single instance pstrcpy() in vcard_emul_nss.c
>>> > to strncpy().  This reverts commit 2e679780ae86c6ca8.
>> An alternative would be to use g_strlcpy which guarantees
>> nul-termination.
>
> Yes, that is better.
Actually in this very place it isn't really important, given we
always know the exact length of the source and are able to adjust
it to fit into the buffer.  With g_strlcat() code becomes a bit
more ugly... ;)

Uh, now I looked at NEXT_TOKEN and g_strlcpy suddenly becomes less palatable. mempcpy would be nice actually, like

    *mempcpy(dest, src, type_params_length) = 0;

but it is not portable and not wrapped by glib.

Another good alternative is

char *type_str;
...
type_str = g_strndup(type_params, type_params_length);
type = vcard_emul_type_from_string(type_str);
g_free(type_str);

Paolo

Reply via email to