Annotation of sys/lib/libkern/strchr.c, Revision 1.1
1.1 ! nbrk 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: }
CVSweb