+#ifdef MULTIPLICITY
+ {
+ STRLEN op_len = SvCUR(orig_pkg);
+ STRLEN tp_len = SvCUR(type_pkg);
+ STRLEN tm_len = SvCUR(type_meth);
+ STRLEN new_buf_size = op_len + tp_len + tm_len;
+ char *buf;
+ if (new_buf_size > oi->buf_size) {
+ PerlMemShared_free(oi->buf);
+ oi->buf = PerlMemShared_malloc(new_buf_size);
+ oi->buf_size = new_buf_size;
+ }
+ buf = oi->buf;
+ Copy(SvPVX(orig_pkg), buf, op_len, char);
+ buf += op_len;
+ Copy(SvPVX(type_pkg), buf, tp_len, char);
+ buf += tp_len;
+ Copy(SvPVX(type_meth), buf, tm_len, char);
+ oi->orig_pkg_len = op_len;
+ oi->type_pkg_len = tp_len;
+ oi->type_meth_len = tm_len;
+ SvREFCNT_dec(orig_pkg);
+ SvREFCNT_dec(type_pkg);
+ SvREFCNT_dec(type_meth);
+ }
+#else /* MULTIPLICITY */