1 /* 2 ** Copyright 2001, Manuel J. Petit. All rights reserved. 3 ** Distributed under the terms of the NewOS License. 4 */ 5 /* 6 * Copyright (c) 2008 Travis Geiselbrecht 7 * 8 * Use of this source code is governed by a MIT-style 9 * license that can be found in the LICENSE file or at 10 * https://opensource.org/licenses/MIT 11 */ 12 #include <string.h> 13 #include <sys/types.h> 14 15 void * memchr(void const * buf,int c,size_t len)16memchr(void const *buf, int c, size_t len) { 17 size_t i; 18 unsigned char const *b= buf; 19 unsigned char x= (c&0xff); 20 21 for (i= 0; i< len; i++) { 22 if (b[i]== x) { 23 return (void *)(b+i); 24 } 25 } 26 27 return NULL; 28 } 29 30