- m_len = q.m_len;
- m_buf = (char*) odr_malloc(odr_encode, m_len);
- memcpy(m_buf, q.m_buf, m_len);
+ m_p->odr_encode = odr_createmem(ODR_ENCODE);
+ m_p->odr_decode = odr_createmem(ODR_DECODE);
+ m_p->odr_print = odr_createmem(ODR_PRINT);
+
+ m_p->len = q.m_p->len;
+ m_p->buf = (char*) odr_malloc(m_p->odr_encode, m_p->len);
+ memcpy(m_p->buf, q.m_p->buf, m_p->len);