diff options
author | Nick Ing-Simmons <nik@tiuk.ti.com> | 2001-03-19 19:27:57 +0000 |
---|---|---|
committer | Nick Ing-Simmons <nik@tiuk.ti.com> | 2001-03-19 19:27:57 +0000 |
commit | c4d5f83add3e03ac76c328ed8a29701d939174ce (patch) | |
tree | 10e9eac6978b40c3c26b5eff7d3142003a73190a /sv.c | |
parent | 63cd067459124b5dc1d2ae98453df4ffdff11607 (diff) | |
download | perl-c4d5f83add3e03ac76c328ed8a29701d939174ce.tar.gz |
More EBCDIC fixes.
p4raw-id: //depot/perlio@9246
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 14 |
1 files changed, 5 insertions, 9 deletions
@@ -2978,7 +2978,8 @@ Perl_sv_utf8_upgrade(pTHX_ register SV *sv) e = (U8 *) SvEND(sv); t = s; while (t < e) { - if ((hibit = !UTF8_IS_INVARIANT(*t++))) + U8 ch = *t++; + if ((hibit = !NATIVE_IS_INVARIANT(ch))) break; } if (hibit) { @@ -2991,12 +2992,6 @@ Perl_sv_utf8_upgrade(pTHX_ register SV *sv) Safefree(s); /* No longer using what was there before. */ SvLEN(sv) = len; /* No longer know the real size. */ } -#ifdef EBCDIC - else { - for (t = s; t < e; t++) - *t = NATIVE_TO_ASCII(*t); - } -#endif /* Mark as UTF-8 even if no hibit - saves scanning loop */ SvUTF8_on(sv); return SvCUR(sv); @@ -3112,7 +3107,8 @@ Perl_sv_utf8_decode(pTHX_ register SV *sv) return FALSE; e = (U8 *) SvEND(sv); while (c < e) { - if (!UTF8_IS_INVARIANT(*c++)) { + U8 ch = *c++; + if (!UTF8_IS_INVARIANT(ch)) { SvUTF8_on(sv); break; } @@ -7127,7 +7123,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV case 'c': uv = args ? va_arg(*args, int) : SvIVx(argsv); - if ((uv > 255 || (!UTF8_IS_INVARIANT(uv) && SvUTF8(sv))) && !IN_BYTE) { + if ((uv > 255 || (!UNI_IS_INVARIANT(uv) || SvUTF8(sv))) && !IN_BYTE) { eptr = (char*)utf8buf; elen = uvchr_to_utf8((U8*)eptr, uv) - utf8buf; is_utf = TRUE; |