On Thu May 09, 2002 at 10:36:50PM +1000, Rusty Russell wrote:
> Um, why not simply:
>
> static inline void set_name(struct task_struct *tsk, const char *name)
> {
> /* comm is always nul-terminated already */
> strncpy(tsk->comm, name, sizeof(tsk->comm)-1);
> }
>
> Your implementation using snprintf is (wasteful and) dangerous,
> Rusty.
And both implementations suffer from the fact that if tsk->comm
were to change from a fixed length array to a char*, allowing
arbitrarily sized names, you would end up copying very little
indeed. :) What not something more general like:
char * safe_strncpy(char *dst, const char *src, size_t size)
{
dst[size-1] = '\0';
strncpy(dst, src, size-1);
}
-Erik
-- Erik B. Andersen http://codepoet-consulting.com/ --This message was written using 73% post-consumer electrons-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Tue May 14 2002 - 12:00:12 EST