Change the semantics of S_isa_lookup
[p5sagit/p5-mst-13.2.git] / ext / Encode / encengine.c
index 6a08cfd..6fb65da 100644 (file)
@@ -92,7 +92,7 @@ we add a flag to re-add the removed byte to the source we could handle
 #include "encode.h"
 
 int
-do_encode(encpage_t * enc, const U8 * src, STRLEN * slen, U8 * dst,
+do_encode(const encpage_t * enc, const U8 * src, STRLEN * slen, U8 * dst,
          STRLEN dlen, STRLEN * dout, int approx, const U8 *term, STRLEN tlen)
 {
     const U8 *s = src;
@@ -102,7 +102,7 @@ do_encode(encpage_t * enc, const U8 * src, STRLEN * slen, U8 * dst,
     U8 *dend = d + dlen, *dlast = d;
     int code = 0;
     while (s < send) {
-       encpage_t *e = enc;
+       const encpage_t *e = enc;
        U8 byte = *s;
        while (byte > e->max)
            e++;
@@ -133,7 +133,7 @@ do_encode(encpage_t * enc, const U8 * src, STRLEN * slen, U8 * dst,
                    if (approx && (e->slen & 0x80))
                        code = ENCODE_FALLBACK;
                    last = s;
-                   if (term && d-dlast == tlen && memEQ(dlast, term, tlen)) {
+                   if (term && (STRLEN)(d-dlast) == tlen && memEQ(dlast, term, tlen)) {
                      code = ENCODE_FOUND_TERM;
                      break;
                    }