зеркало из https://github.com/mozilla/pjs.git
35 строки
722 B
C
35 строки
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
|