Rework Time::HiRes not to need HAS_NANOSLEEP from Configure.
[p5sagit/p5-mst-13.2.git] / ext / Opcode / Opcode.xs
index c00a5e5..66710ed 100644 (file)
@@ -7,7 +7,7 @@
 #define OP_MASK_BUF_SIZE (MAXO + 100)
 
 /* XXX op_named_bits and opset_all are never freed */
-#define MY_CXT_KEY "Opcode::_guts"##XS_VERSION
+#define MY_CXT_KEY "Opcode::_guts" XS_VERSION
 
 typedef struct {
     HV *       x_op_named_bits;        /* cache shared for whole process */
@@ -62,7 +62,7 @@ op_names_init(pTHX)
     bitmap = SvPV(opset_all, len);
     i = len-1; /* deal with last byte specially, see below */
     while(i-- > 0)
-       bitmap[i] = 0xFF;
+       bitmap[i] = (char)0xFF;
     /* Take care to set the right number of bits in the last byte */
     bitmap[len-1] = (PL_maxo & 0x07) ? ~(0xFF << (PL_maxo & 0x07)) : 0xFF;
     put_op_bitspec(aTHX_ ":all",0, opset_all); /* don't mortalise */
@@ -151,7 +151,7 @@ verify_opset(pTHX_ SV *opset, int fatal)
 
     if      (!SvOK(opset))              err = "undefined";
     else if (!SvPOK(opset))             err = "wrong type";
-    else if (SvCUR(opset) != opset_len) err = "wrong size";
+    else if (SvCUR(opset) != (STRLEN)opset_len) err = "wrong size";
     if (err && fatal) {
        croak("Invalid opset: %s", err);
     }
@@ -178,7 +178,7 @@ set_opset_bits(pTHX_ char *bitmap, SV *bitspec, int on, char *opname)
        else
            bitmap[offset] &= ~(1 << bit);
     }
-    else if (SvPOK(bitspec) && SvCUR(bitspec) == opset_len) {
+    else if (SvPOK(bitspec) && SvCUR(bitspec) == (STRLEN)opset_len) {
 
        STRLEN len;
        char *specbits = SvPV(bitspec, len);
@@ -380,7 +380,6 @@ CODE:
     SV *bitspec, *opset;
     char *bitmap;
     STRLEN len, on;
-    dMY_CXT;
 
     opset = sv_2mortal(new_opset(aTHX_ Nullsv));
     bitmap = SvPVX(opset);
@@ -465,7 +464,7 @@ PPCODE:
                croak("panic: opcode %d (%s) out of range",myopcode,opname);
            XPUSHs(sv_2mortal(newSVpv(op_desc[myopcode], 0)));
        }
-       else if (SvPOK(bitspec) && SvCUR(bitspec) == opset_len) {
+       else if (SvPOK(bitspec) && SvCUR(bitspec) == (STRLEN)opset_len) {
            int b, j;
            STRLEN n_a;
            char *bitmap = SvPV(bitspec,n_a);