From fecd2382e77b89f12c9d630ed4e42e9a54ba6953 Mon Sep 17 00:00:00 2001 From: "K. Richard Pixley" Date: Thu, 4 Apr 1991 18:19:53 +0000 Subject: Initial revision --- gas/strstr.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 gas/strstr.c (limited to 'gas/strstr.c') diff --git a/gas/strstr.c b/gas/strstr.c new file mode 100644 index 0000000..9823249 --- /dev/null +++ b/gas/strstr.c @@ -0,0 +1,55 @@ +/* strstr - find first occurrence of wanted in s + Copyright (C) 1989, 1990, 1991 Free Software Foundation. + +This file is part of GAS, the GNU Assembler. + +GAS is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 1, or (at your option) +any later version. + +GAS is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GAS; see the file COPYING. If not, write to +the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + +/* static const char rcsid[] = "$Id$"; */ + + /* If your compiler is really ansi, then you don't need this. */ +#ifndef __STDC__ + +#define SIZET int + +#define NULL 0 + +#include + +char * /* found string, or NULL if none */ +strstr(s, wanted) +char *s; +char *wanted; +{ + register char *scan; + register SIZET len; + register char firstc; + + /* + * The odd placement of the two tests is so "" is findable. + * Also, we inline the first char for speed. + * The ++ on scan has been moved down for optimization. + */ + firstc = *wanted; + len = strlen(wanted); + for (scan = s; *scan != firstc || strncmp(scan, wanted, len) != 0; ) + if (*scan++ == '\0') + return(NULL); + return(scan); +} /* strstr() */ + +#endif /* __STDC__ */ + +/* end of strstr.c */ -- cgit v1.1