diff options
Diffstat (limited to 'systems/texlive/tlnet/tlpkg/tlperl/lib/CORE/util.h')
-rw-r--r-- | systems/texlive/tlnet/tlpkg/tlperl/lib/CORE/util.h | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/CORE/util.h b/systems/texlive/tlnet/tlpkg/tlperl/lib/CORE/util.h index b2e0b7797b..d9b61611e4 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/CORE/util.h +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/CORE/util.h @@ -23,11 +23,6 @@ # define PERL_FILE_IS_ABSOLUTE(f) \ (*(f) == '/' || *(f) == '\\' /* UNC/rooted path */ \ || ((f)[0] && (f)[1] == ':')) /* drive name */ -#elif defined(NETWARE) -# define PERL_FILE_IS_ABSOLUTE(f) \ - (((f)[0] && (f)[1] == ':') /* drive name */ \ - || ((f)[0] == '\\' && (f)[1] == '\\') /* UNC path */ \ - || ((f)[3] == ':')) /* volume name, currently only sys */ #elif defined(DOSISH) # define PERL_FILE_IS_ABSOLUTE(f) \ (*(f) == '/' \ @@ -189,7 +184,7 @@ typedef struct { /* uses var file to set default filename for newXS_deffile to use for CvFILE */ #define HSf_SETXSUBFN 0x00000020 #define HSf_POPMARK 0x00000040 /* popmark mode or you must supply ax and items */ -#define HSf_IMP_CXT 0x00000080 /* ABI, threaded/PERL_IMPLICIT_CONTEXT, pTHX_ present */ +#define HSf_IMP_CXT 0x00000080 /* ABI, threaded, MULTIPLICITY, pTHX_ present */ #define HSm_INTRPSIZE 0xFFFF0000 /* ABI, interp struct size */ /* A mask of bits in the key which must always match between a XS mod and interp. Also if all ABI bits in a key are true, skip all ABI checks, it is very @@ -203,7 +198,7 @@ typedef struct { /* if in the future "" and NULL must be separated, XSVERLEN would be 0 means arg not present, 1 is empty string/null byte */ /* (((key) & 0x0000FF00) >> 8) is less efficient on Visual C */ -#define HS_GETXSVERLEN(key) ((key) >> 8 & 0xFF) +#define HS_GETXSVERLEN(key) ((U8) ((key) >> 8)) #define HS_GETAPIVERLEN(key) ((key) & HSm_APIVERLEN) /* internal to util.h macro to create a packed handshake key, all args must be constants */ @@ -226,7 +221,7 @@ means arg not present, 1 is empty string/null byte */ not public API. This more friendly version already collected all ABI info */ /* U32 return = (bool setxsubfn, bool popmark, "litteral_string_api_ver", "litteral_string_xs_ver") */ -#ifdef PERL_IMPLICIT_CONTEXT +#ifdef MULTIPLICITY # define HS_KEY(setxsubfn, popmark, apiver, xsver) \ HS_KEYp(sizeof(PerlInterpreter), TRUE, setxsubfn, popmark, \ sizeof("" apiver "")-1, sizeof("" xsver "")-1) @@ -252,7 +247,9 @@ returning NULL if not found. The terminating NUL bytes are not compared. #ifdef HAS_MEMMEM # define ninstr(big, bigend, little, lend) \ - ((char *) memmem((big), (bigend) - (big), \ + (__ASSERT_(bigend >= big) \ + __ASSERT_(lend >= little) \ + (char *) memmem((big), (bigend) - (big), \ (little), (lend) - (little))) #else # define ninstr(a,b,c,d) Perl_ninstr(a,b,c,d) |