From 5c4d665df549680ced733cc8cdadd89e870241d8 Mon Sep 17 00:00:00 2001 From: Alexey Dobriyan Date: Sun, 11 Dec 2011 21:13:19 +0300 Subject: [PATCH] --- yaml --- r: 277459 b: refs/heads/master c: 890890cb8e415e1e7a61bfe3c8e246f710196824 h: refs/heads/master i: 277457: 5f662057a3f240fbfca254ffd90615d14b5c1c5c 277455: 412af8cef8ec8a9fd83da88c5a4538b4b3e67b5b v: v3 --- [refs] | 2 +- trunk/arch/x86/lib/string_32.c | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 597c44e05026..5512ac313ddc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 79f1ddd06471b094ae30eb17b33beb9f1234ca93 +refs/heads/master: 890890cb8e415e1e7a61bfe3c8e246f710196824 diff --git a/trunk/arch/x86/lib/string_32.c b/trunk/arch/x86/lib/string_32.c index 82004d2bf05e..bd59090825db 100644 --- a/trunk/arch/x86/lib/string_32.c +++ b/trunk/arch/x86/lib/string_32.c @@ -164,15 +164,13 @@ EXPORT_SYMBOL(strchr); size_t strlen(const char *s) { int d0; - int res; + size_t res; asm volatile("repne\n\t" - "scasb\n\t" - "notl %0\n\t" - "decl %0" + "scasb" : "=c" (res), "=&D" (d0) : "1" (s), "a" (0), "0" (0xffffffffu) : "memory"); - return res; + return ~res - 1; } EXPORT_SYMBOL(strlen); #endif