diff options
| author | Ingo Molnar <mingo@kernel.org> | 2015-02-28 02:03:10 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2015-02-28 02:03:10 -0500 |
| commit | 5838d18955b52467f4b30486e62a31727b39998d (patch) | |
| tree | 8aeb8412156bab93a6b39f2de4a8d6c912ddb31a /lib/string.c | |
| parent | 579deee571a755c485ad702ef82c77a98a2ccc05 (diff) | |
| parent | 895c8b7b4623d4f55e260e5dee2574b4f7113105 (diff) | |
Merge branch 'linus' into x86/urgent, to merge dependent patch
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'lib/string.c')
| -rw-r--r-- | lib/string.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/lib/string.c b/lib/string.c index 10063300b830..ce81aaec3839 100644 --- a/lib/string.c +++ b/lib/string.c | |||
| @@ -58,14 +58,6 @@ int strncasecmp(const char *s1, const char *s2, size_t len) | |||
| 58 | } | 58 | } |
| 59 | EXPORT_SYMBOL(strncasecmp); | 59 | EXPORT_SYMBOL(strncasecmp); |
| 60 | #endif | 60 | #endif |
| 61 | #ifndef __HAVE_ARCH_STRNICMP | ||
| 62 | #undef strnicmp | ||
| 63 | int strnicmp(const char *s1, const char *s2, size_t len) | ||
| 64 | { | ||
| 65 | return strncasecmp(s1, s2, len); | ||
| 66 | } | ||
| 67 | EXPORT_SYMBOL(strnicmp); | ||
| 68 | #endif | ||
| 69 | 61 | ||
| 70 | #ifndef __HAVE_ARCH_STRCASECMP | 62 | #ifndef __HAVE_ARCH_STRCASECMP |
| 71 | int strcasecmp(const char *s1, const char *s2) | 63 | int strcasecmp(const char *s1, const char *s2) |
| @@ -321,12 +313,12 @@ EXPORT_SYMBOL(strchrnul); | |||
| 321 | */ | 313 | */ |
| 322 | char *strrchr(const char *s, int c) | 314 | char *strrchr(const char *s, int c) |
| 323 | { | 315 | { |
| 324 | const char *p = s + strlen(s); | 316 | const char *last = NULL; |
| 325 | do { | 317 | do { |
| 326 | if (*p == (char)c) | 318 | if (*s == (char)c) |
| 327 | return (char *)p; | 319 | last = s; |
| 328 | } while (--p >= s); | 320 | } while (*s++); |
| 329 | return NULL; | 321 | return (char *)last; |
| 330 | } | 322 | } |
| 331 | EXPORT_SYMBOL(strrchr); | 323 | EXPORT_SYMBOL(strrchr); |
| 332 | #endif | 324 | #endif |
| @@ -604,6 +596,11 @@ EXPORT_SYMBOL(memset); | |||
| 604 | * @s: Pointer to the start of the area. | 596 | * @s: Pointer to the start of the area. |
| 605 | * @count: The size of the area. | 597 | * @count: The size of the area. |
| 606 | * | 598 | * |
| 599 | * Note: usually using memset() is just fine (!), but in cases | ||
| 600 | * where clearing out _local_ data at the end of a scope is | ||
| 601 | * necessary, memzero_explicit() should be used instead in | ||
| 602 | * order to prevent the compiler from optimising away zeroing. | ||
| 603 | * | ||
| 607 | * memzero_explicit() doesn't need an arch-specific version as | 604 | * memzero_explicit() doesn't need an arch-specific version as |
| 608 | * it just invokes the one of memset() implicitly. | 605 | * it just invokes the one of memset() implicitly. |
| 609 | */ | 606 | */ |
