diff options
Diffstat (limited to 'sysdeps/i386/strpbrk.S')
-rw-r--r-- | sysdeps/i386/strpbrk.S | 21 |
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) |