diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-01-06 08:18:50 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-01-06 08:21:09 -0800 |
| commit | a2801adffebb6a3679e41789b38ba925ed32832b (patch) | |
| tree | 8e3a743301fedb04d19d9af3e30f5622b737c337 /src/core/message.c | |
| parent | 601d7a6ca95678613ca576258314f50a6e5e742c (diff) | |
| download | nng-a2801adffebb6a3679e41789b38ba925ed32832b.tar.gz nng-a2801adffebb6a3679e41789b38ba925ed32832b.tar.bz2 nng-a2801adffebb6a3679e41789b38ba925ed32832b.zip | |
Message API was awkward.
The use of a single function to get both size and length actually
turned out to be awkward to use; better to have separate functions
to get each. While here, disable some of the initialization/fork
checks, because it turns out they aren't needed.
Diffstat (limited to 'src/core/message.c')
| -rw-r--r-- | src/core/message.c | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/src/core/message.c b/src/core/message.c index 351858a4..4c666955 100644 --- a/src/core/message.c +++ b/src/core/message.c @@ -185,8 +185,11 @@ nni_chunk_trim(nni_chunk *ch, size_t len) if (ch->ch_len < len) { return (NNG_EINVAL); } - ch->ch_ptr += len; ch->ch_len -= len; + // Don't advance the pointer if we are just removing the whole content + if (ch->ch_len != 0) { + ch->ch_ptr += len; + } return (0); } @@ -442,25 +445,33 @@ nni_msg_realloc(nni_msg *m, size_t sz) void * -nni_msg_header(nni_msg *m, size_t *szp) +nni_msg_header(nni_msg *m) { - if (szp != NULL) { - *szp = m->m_header.ch_len; - } return (m->m_header.ch_ptr); } +size_t +nni_msg_header_len(nni_msg *m) +{ + return (m->m_header.ch_len); +} + + void * -nni_msg_body(nni_msg *m, size_t *szp) +nni_msg_body(nni_msg *m) { - if (szp != NULL) { - *szp = m->m_body.ch_len; - } return (m->m_body.ch_ptr); } +size_t +nni_msg_len(nni_msg *m) +{ + return (m->m_body.ch_len); +} + + int nni_msg_append(nni_msg *m, const void *data, size_t len) { |
