root/lib/libkern/strchr.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. strchr
  2. strrchr

    1 /*      $OpenBSD: strchr.c,v 1.3 2004/05/06 01:12:05 deraadt Exp $      */
    2 
    3 /*
    4  * Copyright (c) 2004 Daniel Hartmeier
    5  * All rights reserved.
    6  *
    7  * Redistribution and use in source and binary forms, with or without
    8  * modification, are permitted provided that the following conditions
    9  * are met:
   10  *
   11  *    - Redistributions of source code must retain the above copyright
   12  *      notice, this list of conditions and the following disclaimer.
   13  *    - Redistributions in binary form must reproduce the above
   14  *      copyright notice, this list of conditions and the following
   15  *      disclaimer in the documentation and/or other materials provided
   16  *      with the distribution.
   17  *
   18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   19  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   20  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   21  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   22  * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
   23  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
   24  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   25  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
   26  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   27  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
   28  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   29  * POSSIBILITY OF SUCH DAMAGE.
   30  *
   31  */
   32 
   33 #if defined(LIBC_SCCS) && !defined(lint)
   34 static char *rcsid = "$OpenBSD: strchr.c,v 1.3 2004/05/06 01:12:05 deraadt Exp $";
   35 #endif /* LIBC_SCCS and not lint */
   36 
   37 #include <sys/types.h>
   38 #if !defined(_KERNEL) && !defined(_STANDALONE)
   39 #include <string.h>
   40 #else
   41 #include <lib/libkern/libkern.h>
   42 #define NULL    ((char *)0)
   43 #endif
   44 
   45 char *
   46 strchr(const char *s, int c)
   47 {
   48         while (*s) {
   49                 if (*s == c)
   50                         return ((char *)s);
   51                 s++;
   52         }
   53         return (NULL);
   54 }
   55 
   56 char *
   57 strrchr(const char *s, int c)
   58 {
   59         char *t = NULL;
   60 
   61         while (*s) {
   62                 if (*s == c)
   63                         t = (char *)s;
   64                 s++;
   65         }
   66         return (t);
   67 }

/* [<][>][^][v][top][bottom][index][help] */