X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=doop.c;h=26ac87dbca6eaf19cdb1a632251ea838f9bcbf41;hb=3cb0bbe5af1ac1b0e46bbee66b7b457629e7ffa3;hp=1b7d02dd2edf254d8655da7c02e3ff30bc24511e;hpb=dc1e3f56d0bad5c480743c8d8317cab04a0b12ce;p=p5sagit%2Fp5-mst-13.2.git diff --git a/doop.c b/doop.c index 1b7d02d..26ac87d 100644 --- a/doop.c +++ b/doop.c @@ -719,7 +719,7 @@ Perl_do_vecget(pTHX_ SV *sv, I32 offset, I32 size) if (offset >= srclen) retnum = 0; else - retnum = (UV) s[offset] << 8; + retnum = (UV) s[offset] << 8; } else if (size == 32) { if (offset >= srclen) @@ -737,7 +737,7 @@ Perl_do_vecget(pTHX_ SV *sv, I32 offset, I32 size) ((UV) s[offset + 1] << 16) + ( s[offset + 2] << 8); } -#ifdef HAS_QUAD +#ifdef UV_IS_QUAD else if (size == 64) { dTHR; if (ckWARN(WARN_PORTABLE)) @@ -786,7 +786,7 @@ Perl_do_vecget(pTHX_ SV *sv, I32 offset, I32 size) ((UV) s[offset + 3] << 32) + ((UV) s[offset + 4] << 24) + ((UV) s[offset + 5] << 16) + - ( s[offset + 6] << 8); + ( s[offset + 6] << 8); } #endif } @@ -799,7 +799,7 @@ Perl_do_vecget(pTHX_ SV *sv, I32 offset, I32 size) retnum = s[offset]; else if (size == 16) retnum = - ((UV) s[offset] << 8) + + ((UV) s[offset] << 8) + s[offset + 1]; else if (size == 32) retnum = @@ -807,7 +807,7 @@ Perl_do_vecget(pTHX_ SV *sv, I32 offset, I32 size) ((UV) s[offset + 1] << 16) + ( s[offset + 2] << 8) + s[offset + 3]; -#ifdef HAS_QUAD +#ifdef UV_IS_QUAD else if (size == 64) { dTHR; if (ckWARN(WARN_PORTABLE)) @@ -820,7 +820,7 @@ Perl_do_vecget(pTHX_ SV *sv, I32 offset, I32 size) ((UV) s[offset + 3] << 32) + ((UV) s[offset + 4] << 24) + ((UV) s[offset + 5] << 16) + - ( s[offset + 6] << 8) + + ( s[offset + 6] << 8) + s[offset + 7]; } #endif @@ -880,7 +880,7 @@ Perl_do_vecset(pTHX_ SV *sv) s[offset+2] = (lval >> 8) & 0xff; s[offset+3] = lval & 0xff; } -#ifdef HAS_QUAD +#ifdef UV_IS_QUAD else if (size == 64) { dTHR; if (ckWARN(WARN_PORTABLE)) @@ -933,7 +933,7 @@ Perl_do_chop(pTHX_ register SV *astr, register SV *sv) s = SvPV(sv, len); if (len && !SvPOK(sv)) s = SvPV_force(sv, len); - if (IN_UTF8) { + if (DO_UTF8(sv)) { if (s && len) { char *send = s + len; char *start = s; @@ -946,12 +946,12 @@ Perl_do_chop(pTHX_ register SV *astr, register SV *sv) *s = '\0'; SvCUR_set(sv, s - start); SvNIOK_off(sv); + SvUTF8_on(astr); } else sv_setpvn(astr, "", 0); } - else - if (s && len) { + else if (s && len) { s += --len; sv_setpvn(astr, s, 1); *s = '\0'; @@ -961,7 +961,7 @@ Perl_do_chop(pTHX_ register SV *astr, register SV *sv) else sv_setpvn(astr, "", 0); SvSETMAGIC(sv); -} +} I32 Perl_do_chomp(pTHX_ register SV *sv)