mirror of
https://github.com/Stichting-MINIX-Research-Foundation/netbsd.git
synced 2025-08-11 23:20:29 -04:00
31 lines
696 B
C
31 lines
696 B
C
/* $NetBSD: explicit_memset.c,v 1.4 2014/06/24 16:39:39 drochner Exp $ */
|
|
|
|
/*
|
|
* Written by Matthias Drochner <drochner@NetBSD.org>.
|
|
* Public domain.
|
|
*/
|
|
|
|
#if !defined(_KERNEL) && !defined(_STANDALONE)
|
|
#include "namespace.h"
|
|
#include <string.h>
|
|
#ifdef __weak_alias
|
|
__weak_alias(explicit_memset,_explicit_memset)
|
|
#endif
|
|
#define explicit_memset_impl __explicit_memset_impl
|
|
#else
|
|
#include <lib/libkern/libkern.h>
|
|
#endif
|
|
|
|
/*
|
|
* The use of a volatile pointer guarantees that the compiler
|
|
* will not optimise the call away.
|
|
*/
|
|
void *(* volatile explicit_memset_impl)(void *, int, size_t) = memset;
|
|
|
|
void *
|
|
explicit_memset(void *b, int c, size_t len)
|
|
{
|
|
|
|
return (*explicit_memset_impl)(b, c, len);
|
|
}
|