rem: write_text(context, bytes, length, target); return length;
add: return write_text(context, bytes, length, target);
context: write_unicode_char(conversion_context &context, uint32 c,	BDataIO *target) throw (status_t){	size_t length = 1;	char bytes[4];	if (c < 0x80)		bytes[0] = c;	else if (c < 0x800) {		bytes[0] = 0xc0 | (c >> 6);		bytes[1] = 0x80 | (c & 0x3f);		length = 2;	} else if (c < 0x10000) {		bytes[0] = 0xe0 | (c >> 12);		bytes[1] = 0x80 | ((c >> 6) & 0x3f);		bytes[2] = 0x80 | (c & 0x3f);		length = 3;	} else if (c <= 0x10ffff) {		bytes[0] = 0xf0 | (c >> 18);		bytes[1] = 0x80 | ((c >> 12) & 0x3f);		bytes[2] = 0x80 | ((c >> 6) & 0x3f);		bytes[3] = 0x80 | (c & 0x3f);		length = 4;	}	write_text(context, bytes, length, target);	return length;}