0,0 → 1,53 |
/* |
* linux/lib/string.c |
* |
* Copyright (C) 1991, 1992 Linus Torvalds |
*/ |
|
/* |
* stupid library routines.. The optimized versions should generally be found |
* as inline code in <asm-xx/string.h> |
* |
* These are buggy as well.. |
* |
* * Fri Jun 25 1999, Ingo Oeser <ioe@informatik.tu-chemnitz.de> |
* - Added strsep() which will replace strtok() soon (because strsep() is |
* reentrant and should be faster). Use only strsep() in new code, please. |
* |
* * Sat Feb 09 2002, Jason Thomas <jason@topic.com.au>, |
* Matthew Hawkins <matt@mh.dropbear.id.au> |
* - Kissed strtok() goodbye |
*/ |
|
#include <linux/types.h> |
#include <linux/string.h> |
#include <linux/ctype.h> |
#include <linux/module.h> |
|
|
#ifndef __HAVE_ARCH_STRLCPY |
/** |
* strlcpy - Copy a %NUL terminated string into a sized buffer |
* @dest: Where to copy the string to |
* @src: Where to copy the string from |
* @size: size of destination buffer |
* |
* Compatible with *BSD: the result is always a valid |
* NUL-terminated string that fits in the buffer (unless, |
* of course, the buffer size is zero). It does not pad |
* out the result like strncpy() does. |
*/ |
size_t strlcpy(char *dest, const char *src, size_t size) |
{ |
size_t ret = strlen(src); |
|
if (size) { |
size_t len = (ret >= size) ? size - 1 : ret; |
memcpy(dest, src, len); |
dest[len] = '\0'; |
} |
return ret; |
} |
EXPORT_SYMBOL(strlcpy); |
#endif |
|