|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T s
Length: 1401 (0x579) Types: TextFile Names: »strstr.c«
└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89 └─⟦45ee03a86⟧ »./gas-1.34.tar.Z« └─⟦217468c69⟧ └─⟦this⟧ »gas-dist/strstr.c«
/* strstr - find first occurrence of wanted in s Copyright (C) 1989, 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. */ #define CONST #define SIZET int #define NULL 0 char * /* found string, or NULL if none */ strstr(s, wanted) CONST char *s; CONST char *wanted; { register CONST char *scan; register SIZET len; register char firstc; extern int strcmp(); extern SIZET strlen(); /* * 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); }