Pack Patch (was Re: 5.002 - pack/unpack does not do "I" right)
[p5sagit/p5-mst-13.2.git] / doop.c
diff --git a/doop.c b/doop.c
index 85146bf..470ec06 100644 (file)
--- a/doop.c
+++ b/doop.c
@@ -320,7 +320,7 @@ register SV **sarg;
            /* end of switch, copy results */
            *t = ch;
            if (xs == buf && xlen >= sizeof(buf)) {     /* Ooops! */
-               fputs("panic: sprintf overflow - memory corrupted!\n",stderr);
+               PerlIO_puts(PerlIO_stderr(),"panic: sprintf overflow - memory corrupted!\n");
                my_exit(1);
            }
            SvGROW(sv, SvCUR(sv) + (f - s) + xlen + 1 + pre + post);
@@ -498,7 +498,7 @@ register SV *sv;
                    goto nope;
                len -= rslen - 1;
                s -= rslen - 1;
-               if (bcmp(s, rsptr, rslen))
+               if (memcmp(s, rsptr, rslen))
                    goto nope;
                count += rslen;
            }
@@ -531,6 +531,8 @@ SV *right;
     register char *rc = SvPV(right, rightlen);
     register I32 len;
     I32 lensave;
+    char *lsave = lc;
+    char *rsave = rc;
 
     dc = SvPV_force(sv,na);
     len = leftlen < rightlen ? leftlen : rightlen;
@@ -588,9 +590,6 @@ SV *right;
     }
 #endif
     {
-       char *lsave = lc;
-       char *rsave = rc;
-       
        switch (optype) {
        case OP_BIT_AND:
            while (len--)