patch-2.3.48 linux/arch/mips/lib/strlen_user.S
Next file: linux/arch/mips/lib/strncpy_user.S
Previous file: linux/arch/mips/lib/rtc-std.c
Back to the patch index
Back to the overall index
- Lines: 56
- Date:
Thu Feb 24 22:52:30 2000
- Orig file:
v2.3.47/linux/arch/mips/lib/strlen_user.S
- Orig date:
Fri Jun 25 17:40:13 1999
diff -u --recursive --new-file v2.3.47/linux/arch/mips/lib/strlen_user.S linux/arch/mips/lib/strlen_user.S
@@ -1,13 +1,11 @@
-/*
- * arch/mips/lib/strlen_user.S
+/* $Id: strlen_user.S,v 1.4 1999/12/04 03:59:00 ralf Exp $
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
- * Copyright (c) 1996, 1998 by Ralf Baechle
- *
- * $Id: strlen_user.S,v 1.2 1998/05/04 09:12:54 ralf Exp $
+ * Copyright (c) 1996, 1998, 1999 by Ralf Baechle
+ * Copyright (c) 1999 Silicon Graphics, Inc.
*/
#include <asm/asm.h>
#include <asm/offset.h>
@@ -25,24 +23,23 @@
*
* Return 0 for error
*/
-LEAF(__strlen_user_nocheck_asm)
- lw v0, THREAD_CURDS($28) # pointer ok?
- subu v0, zero, v0
+LEAF(__strlen_user_asm)
+ lw v0, THREAD_CURDS($28) # pointer ok?
and v0, a0
- nor v0, zero, v0
- beqz v0, fault
-EXPORT(__strlen_user_asm)
- move v0, a0
+ bltz v0, fault
+
+EXPORT(__strlen_user_nocheck_asm)
+ move v0, a0
1: EX(lb, t0, (v0), fault)
- LONG_ADDIU v0, 1
- bnez t0, 1b
- LONG_SUBU v0, a0
- jr ra
+ addiu v0, 1
+ bnez t0, 1b
+ subu v0, a0
+ jr ra
END(__strlen_user_nocheck_asm)
- .section __ex_table,"a"
- PTR 1b, fault
+ .section __ex_table,"a"
+ PTR 1b, fault
.previous
-fault: move v0, zero
- jr ra
+fault: move v0, zero
+ jr ra
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)