diff options
Diffstat (limited to 'libcoopgamma_context_marshal.c')
-rw-r--r-- | libcoopgamma_context_marshal.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/libcoopgamma_context_marshal.c b/libcoopgamma_context_marshal.c index 1a7ad88..39ca11e 100644 --- a/libcoopgamma_context_marshal.c +++ b/libcoopgamma_context_marshal.c @@ -14,20 +14,23 @@ size_t libcoopgamma_context_marshal(const libcoopgamma_context_t *restrict this, void *restrict vbuf) { + size_t n; MARSHAL_PROLOGUE; marshal_version(LIBCOOPGAMMA_CONTEXT_VERSION); - marshal_prim(this->fd, int); + marshal_prim(this->fd); off += libcoopgamma_error_marshal(&this->error, SUBBUF); - marshal_prim(this->message_id, uint32_t); - marshal_prim(this->outbound_head - this->outbound_tail, size_t); - marshal_buffer(this->outbound + this->outbound_tail, this->outbound_head - this->outbound_tail); - marshal_prim(this->inbound_head - this->inbound_tail, size_t); - marshal_buffer(this->inbound + this->inbound_tail, this->inbound_head - this->inbound_tail); - marshal_prim(this->length, size_t); - marshal_prim(this->curline, size_t); - marshal_prim(this->in_response_to, uint32_t); - marshal_prim(this->have_all_headers, int); - marshal_prim(this->bad_message, int); - marshal_prim(this->blocking, int); + marshal_prim(this->message_id); + n = this->outbound_head - this->outbound_tail; + marshal_prim(n); + marshal_buffer(&this->outbound[this->outbound_tail], n); + n = this->inbound_head - this->inbound_tail; + marshal_prim(n); + marshal_buffer(&this->inbound[this->inbound_tail], n); + marshal_prim(this->length); + marshal_prim(this->curline); + marshal_prim(this->in_response_to); + marshal_prim(this->have_all_headers); + marshal_prim(this->bad_message); + marshal_prim(this->blocking); MARSHAL_EPILOGUE; } |