diff options
Diffstat (limited to 'prism/util/pm_buffer.c')
-rw-r--r-- | prism/util/pm_buffer.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/prism/util/pm_buffer.c b/prism/util/pm_buffer.c index dcdf1770bb..307b55d030 100644 --- a/prism/util/pm_buffer.c +++ b/prism/util/pm_buffer.c @@ -152,6 +152,15 @@ pm_buffer_append_varuint(pm_buffer_t *buffer, uint32_t value) { } /** + * Append a 32-bit signed integer to the buffer as a variable-length integer. + */ +void +pm_buffer_append_varsint(pm_buffer_t *buffer, int32_t value) { + uint32_t unsigned_int = ((uint32_t)(value) << 1) ^ ((uint32_t)(value >> 31)); + pm_buffer_append_varuint(buffer, unsigned_int); +} + +/** * Concatenate one buffer onto another. */ void |