From 5d1f086cbc15a28abfb2e2ce6721afd76531f2fd Mon Sep 17 00:00:00 2001 From: millert Date: Sun, 4 May 1997 23:33:35 +0000 Subject: [PATCH] Alpha needs strchr.c Fix up clean and depend targets in Makefile.inc so we can include Makefile.inc in cases where there is already a clean/depend target (based on a NetBSD Makefile.inc). --- sys/lib/libkern/Makefile.inc | 8 ++-- sys/lib/libkern/arch/alpha/Makefile.inc | 4 +- sys/lib/libkern/libkern.h | 4 +- sys/lib/libkern/strchr.c | 57 +++++++++++++++++++++++++ 4 files changed, 66 insertions(+), 7 deletions(-) create mode 100644 sys/lib/libkern/strchr.c diff --git a/sys/lib/libkern/Makefile.inc b/sys/lib/libkern/Makefile.inc index 840bc3045a6..b9a2903d4d4 100644 --- a/sys/lib/libkern/Makefile.inc +++ b/sys/lib/libkern/Makefile.inc @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile.inc,v 1.5 1996/10/31 00:43:09 niklas Exp $ +# $OpenBSD: Makefile.inc,v 1.6 1997/05/04 23:33:35 millert Exp $ # $NetBSD: Makefile.inc,v 1.22 1996/09/30 15:54:35 ws Exp $ # # NOTE: $S must correspond to the top of the 'sys' tree @@ -40,11 +40,13 @@ ${KERNLIB_PROF}: .NOTMAIN __always_make_kernlib @${KERNMAKE} libkern.po .endif -clean:: .NOTMAIN __always_make_kernlib +clean: .NOTMAIN cleankernlib +cleankernlib: .NOTMAIN __always_make_kernlib @echo cleaning the kern library objects @${KERNMAKE} clean -depend:: .NOTMAIN __always_make_kernlib +depend: .NOTMAIN dependkernlib +dependkernlib: .NOTMAIN __always_make_kernlib @echo depending the kern library objects @${KERNMAKE} depend diff --git a/sys/lib/libkern/arch/alpha/Makefile.inc b/sys/lib/libkern/arch/alpha/Makefile.inc index a8db36a1d02..ae62cf3262e 100644 --- a/sys/lib/libkern/arch/alpha/Makefile.inc +++ b/sys/lib/libkern/arch/alpha/Makefile.inc @@ -1,10 +1,10 @@ -# $OpenBSD: Makefile.inc,v 1.5 1996/10/31 00:43:12 niklas Exp $ +# $OpenBSD: Makefile.inc,v 1.6 1997/05/04 23:33:41 millert Exp $ # $NetBSD: Makefile.inc,v 1.9 1996/08/27 00:44:24 cgd Exp $ SRCS+= __main.c imax.c imin.c lmax.c lmin.c max.c min.c ulmax.c ulmin.c \ bcmp.c bzero.S ffs.S strcat.c strcmp.c strcpy.c strlen.c strncmp.c \ strncpy.c scanc.c skpc.c htonl.S htons.S ntohl.S ntohs.S \ - random.c strncasecmp.c + random.c strncasecmp.c strchr.c # `source' files built from m4 source SRCS+= __divqu.S __divq.S __divlu.S __divl.S diff --git a/sys/lib/libkern/libkern.h b/sys/lib/libkern/libkern.h index e43f0e4fc3b..6e948cfd847 100644 --- a/sys/lib/libkern/libkern.h +++ b/sys/lib/libkern/libkern.h @@ -1,4 +1,4 @@ -/* $OpenBSD: libkern.h,v 1.9 1997/03/30 22:05:10 mickey Exp $ */ +/* $OpenBSD: libkern.h,v 1.10 1997/05/04 23:33:38 millert Exp $ */ /* $NetBSD: libkern.h,v 1.7 1996/03/14 18:52:08 christos Exp $ */ /*- @@ -121,13 +121,13 @@ int ffs __P((int)); int locc __P((int, char *, u_int)); u_long random __P((void)); void srandom __P((u_long)); -char *rindex __P((const char *, int)); int scanc __P((u_int, const u_char *, const u_char *, int)); int skpc __P((int, size_t, u_char *)); size_t strlen __P((const char *)); char *strcat __P((char *, const char *)); char *strcpy __P((char *, const char *)); char *strncpy __P((char *, const char *, size_t)); +char *strchr __P((const char *, int)); int strcmp __P((const char *, const char *)); int strncmp __P((const char *, const char *, size_t)); int strncasecmp __P((const char *, const char *, size_t)); diff --git a/sys/lib/libkern/strchr.c b/sys/lib/libkern/strchr.c new file mode 100644 index 00000000000..a32db3e0b94 --- /dev/null +++ b/sys/lib/libkern/strchr.c @@ -0,0 +1,57 @@ +/* $OpenBSD: strchr.c,v 1.1 1997/05/04 23:33:39 millert Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#if defined(LIBC_SCCS) && !defined(lint) +static char *rcsid = "$OpenBSD: strchr.c,v 1.1 1997/05/04 23:33:39 millert Exp $"; +#endif /* LIBC_SCCS and not lint */ + +#ifndef _KERNEL +#include +#else +#include +#endif + +char * +strchr(p, ch) + register const char *p, ch; +{ + for (;; ++p) { + if (*p == ch) + return((char *)p); + if (!*p) + return((char *)NULL); + } + /* NOTREACHED */ +} -- 2.20.1