gecko/memory/build/extraMallocFuncs.c

35 lines
722 B
C

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
#include <string.h>
#include "mozilla/Types.h"
#ifdef ANDROID
#define wrap(a) __wrap_ ## a
#endif
#if defined(XP_WIN) || defined(XP_MACOSX)
#define wrap(a) je_ ## a
#endif
#ifdef wrap
void *wrap(malloc)(size_t);
MOZ_EXPORT_API(char *)
wrap(strndup)(const char *src, size_t len)
{
char* dst = (char*) wrap(malloc)(len + 1);
if (dst)
strncpy(dst, src, len + 1);
return dst;
}
MOZ_EXPORT_API(char *)
wrap(strdup)(const char *src)
{
size_t len = strlen(src);
return wrap(strndup)(src, len);
}
#endif