1
/* $Id: memchr.cpp 4071 2007-08-07 17:07:59Z vboxsync $ */
3
* innotek Portable Runtime - CRT Strings, memcpy().
7
* Copyright (C) 2006-2007 innotek GmbH
9
* This file is part of VirtualBox Open Source Edition (OSE), as
10
* available from http://www.virtualbox.org. This file is free software;
11
* you can redistribute it and/or modify it under the terms of the GNU
12
* General Public License as published by the Free Software Foundation,
13
* in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
14
* distribution. VirtualBox OSE is distributed in the hope that it will
15
* be useful, but WITHOUT ANY WARRANTY of any kind.
19
/*******************************************************************************
21
*******************************************************************************/
22
#include <iprt/string.h>
26
* Search a memory block for a character.
28
* @returns Pointer to the first instance of ch in pv.
29
* @returns NULL if ch wasn't found.
30
* @param pv Pointer to the block to search.
31
* @param ch The character to search for.
32
* @param cb The size of the block.
34
#ifdef _MSC_VER /* Silly 'safeness' from MS. */
36
_CRTIMP __checkReturn _CONST_RETURN void * __cdecl memchr( __in_bcount_opt(_MaxCount) const void * pv, __in int ch, __in size_t cb)
38
void *memchr(const void *pv, int ch, size_t cb)
41
void *memchr(const void *pv, int ch, size_t cb)
44
register uint8_t const *pu8 = (uint8_t const *)pv;
45
register size_t cb2 = cb;