aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/i386/strpbrk.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386/strpbrk.S')
-rw-r--r--sysdeps/i386/strpbrk.S21
1 files changed, 12 insertions, 9 deletions
diff --git a/sysdeps/i386/strpbrk.S b/sysdeps/i386/strpbrk.S
index ff0990272a..59d65540ab 100644
--- a/sysdeps/i386/strpbrk.S
+++ b/sysdeps/i386/strpbrk.S
@@ -1,7 +1,7 @@
/* strcspn (str, ss) -- Return the length of the initial segement of STR
which contains no characters from SS.
For Intel 80x86, x>=3.
- Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1994, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
Bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
This file is part of the GNU C Library.
@@ -23,17 +23,19 @@
#include <sysdep.h>
#include "asm-syntax.h"
+#include "bp-asm.h"
-/*
- INPUT PARAMETERS:
- str (sp + 4)
- stopset (sp + 8)
-*/
+#define PARMS LINKAGE /* no space for saved regs */
+#define RTN PARMS
+#define STR RTN+RTN_SIZE
+#define STOP STR+PTR_SIZE
.text
ENTRY (strpbrk)
- movl 4(%esp), %edx /* get string pointer */
- movl 8(%esp), %eax /* get stopset pointer */
+ ENTER
+
+ movl STR(%esp), %edx
+ movl STOP(%esp), %eax
/* First we create a table with flags for all possible characters.
For the ASCII (7bit/8bit) or ISO-8859-X character sets which are
@@ -174,5 +176,6 @@ L(4): addl $256, %esp /* remove stopset */
jnz L(7) /* no => return pointer */
xorl %eax, %eax /* return NULL */
-L(7): ret
+L(7): LEAVE
+ RET_PTR
END (strpbrk)