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 )