SDL2-FFI
view release on metacpan or search on metacpan
src/ppport.h view on Meta::CPAN
static
#else
extern Size_t DPPP_(my_my_strnlen)(const char *str, Size_t maxlen);
#endif
#if defined(NEED_my_strnlen) || defined(NEED_my_strnlen_GLOBAL)
#define my_strnlen DPPP_(my_my_strnlen)
#define Perl_my_strnlen DPPP_(my_my_strnlen)
Size_t
DPPP_(my_my_strnlen)(const char *str, Size_t maxlen) {
const char *p = str;
while (maxlen-- && *p)
p++;
return p - str;
}
#endif
#endif
#ifdef HAS_MEMCMP
#ifndef memNE
#define memNE(s1, s2, l) (memcmp(s1, s2, l))
#endif
#ifndef memEQ
#define memEQ(s1, s2, l) (!memcmp(s1, s2, l))
#endif
#else
#ifndef memNE
#define memNE(s1, s2, l) (bcmp(s1, s2, l))
#endif
#ifndef memEQ
#define memEQ(s1, s2, l) (!bcmp(s1, s2, l))
#endif
#endif
#ifndef memEQs
#define memEQs(s1, l, s2) (sizeof(s2) - 1 == l && memEQ(s1, (s2 ""), (sizeof(s2) - 1)))
#endif
#ifndef memNEs
#define memNEs(s1, l, s2) !memEQs(s1, l, s2)
#endif
#ifndef memCHRs
#define memCHRs(s, c) ((const char *)memchr("" s "", c, sizeof(s) - 1))
#endif
#ifndef MoveD
#define MoveD(s, d, n, t) memmove((char *)(d), (char *)(s), (n) * sizeof(t))
#endif
#ifndef CopyD
#define CopyD(s, d, n, t) memcpy((char *)(d), (char *)(s), (n) * sizeof(t))
#endif
#ifdef HAS_MEMSET
#ifndef ZeroD
#define ZeroD(d, n, t) memzero((char *)(d), (n) * sizeof(t))
#endif
#else
#ifndef ZeroD
#define ZeroD(d, n, t) ((void)memzero((char *)(d), (n) * sizeof(t)), d)
#endif
#endif
#ifndef PoisonWith
#define PoisonWith(d, n, t, b) (void)memset((char *)(d), (U8)(b), (n) * sizeof(t))
#endif
#ifndef PoisonNew
#define PoisonNew(d, n, t) PoisonWith(d, n, t, 0xAB)
#endif
#ifndef PoisonFree
#define PoisonFree(d, n, t) PoisonWith(d, n, t, 0xEF)
#endif
#ifndef Poison
#define Poison(d, n, t) PoisonFree(d, n, t)
#endif
#ifndef Newx
#define Newx(v, n, t) New(0, v, n, t)
#endif
#ifndef Newxc
#define Newxc(v, n, t, c) Newc(0, v, n, t, c)
#endif
#ifndef Newxz
#define Newxz(v, n, t) Newz(0, v, n, t)
#endif
#ifdef NEED_mess_sv
#define NEED_mess
#endif
#ifdef NEED_mess
#define NEED_mess_nocontext
#define NEED_vmess
#endif
#ifndef croak_sv
#if (PERL_BCDVERSION >= 0x5007003) || \
((PERL_BCDVERSION >= 0x5006001) && (PERL_BCDVERSION < 0x5007000))
#if ((PERL_BCDVERSION >= 0x5008000) && (PERL_BCDVERSION < 0x5008009)) || \
((PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5010001))
#define D_PPP_FIX_UTF8_ERRSV_FOR_SV(sv) \
STMT_START { \
SV *_errsv = ERRSV; \
SvFLAGS(_errsv) = (SvFLAGS(_errsv) & ~SVf_UTF8) | (SvFLAGS(sv) & SVf_UTF8); \
} \
STMT_END
#else
#define D_PPP_FIX_UTF8_ERRSV_FOR_SV(sv) \
STMT_START {} \
( run in 0.508 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )