Another correction to string_transcode; this function now seems to work okay (tested using a dummy 'encode' op added to my local copy of core.ops)
Peter Gibbs EmKel Systems Index: string.c =================================================================== RCS file: /home/perlcvs/parrot/string.c,v retrieving revision 1.35 diff -c -r1.35 string.c *** string.c 1 Jan 2002 17:53:50 -0000 1.35 --- string.c 1 Jan 2002 21:21:22 -0000 *************** *** 179,185 **** srcstart = (void*)src->bufstart; srcend = srcstart + src->bufused; deststart = dest->bufstart; ! destend = deststart + dest->buflen; while (srcstart < srcend) { INTVAL c = src->encoding->decode(srcstart); --- 179,185 ---- srcstart = (void*)src->bufstart; srcend = srcstart + src->bufused; deststart = dest->bufstart; ! destend = deststart; while (srcstart < srcend) { INTVAL c = src->encoding->decode(srcstart); *************** *** 187,193 **** if (transcoder1) c = transcoder1(c); if (transcoder2) c = transcoder2(c); ! deststart = dest->encoding->encode(deststart, c); srcstart = src->encoding->skip_forward(srcstart, 1); } --- 187,193 ---- if (transcoder1) c = transcoder1(c); if (transcoder2) c = transcoder2(c); ! destend = dest->encoding->encode(destend, c); srcstart = src->encoding->skip_forward(srcstart, 1); }