Rev 5270 | Rev 6934 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5270 | Rev 6102 | ||
---|---|---|---|
Line 46... | Line 46... | ||
46 | memcpy(dest, src, len); |
46 | memcpy(dest, src, len); |
47 | dest[len] = '\0'; |
47 | dest[len] = '\0'; |
48 | } |
48 | } |
49 | return ret; |
49 | return ret; |
50 | } |
50 | } |
- | 51 | ||
- | 52 | #ifndef __HAVE_ARCH_STRLCAT |
|
- | 53 | /** |
|
- | 54 | * strlcat - Append a length-limited, C-string to another |
|
- | 55 | * @dest: The string to be appended to |
|
- | 56 | * @src: The string to append to it |
|
- | 57 | * @count: The size of the destination buffer. |
|
- | 58 | */ |
|
- | 59 | size_t strlcat(char *dest, const char *src, size_t count) |
|
- | 60 | { |
|
- | 61 | size_t dsize = strlen(dest); |
|
- | 62 | size_t len = strlen(src); |
|
- | 63 | size_t res = dsize + len; |
|
- | 64 | ||
- | 65 | /* This would be a bug */ |
|
51 | EXPORT_SYMBOL(strlcpy); |
66 | BUG_ON(dsize >= count); |
- | 67 | ||
- | 68 | dest += dsize; |
|
- | 69 | count -= dsize; |
|
- | 70 | if (len >= count) |
|
- | 71 | len = count-1; |
|
- | 72 | memcpy(dest, src, len); |
|
- | 73 | dest[len] = 0; |
|
- | 74 | return res; |
|
- | 75 | } |
|
- | 76 | #endif |
|
- | 77 | ||
- | 78 | ||
52 | #endif |
79 | #endif |