diff --git a/include/pickle.h b/include/pickle.h index 9fc087c1861fbbd3b8463840b373794c3a0b19e0..ac3fea07539ac7bd64308aa6142a861e06ddd71e 100644 --- a/include/pickle.h +++ b/include/pickle.h @@ -228,4 +228,17 @@ pack_lstr(char *buf, const void *str, uint32_t len) return (char *) memcpy(pack_varint32(buf, len), str, len) + len; } +#define pack_u(bits) \ +static inline char * \ +pack_u##bits(char *buf, uint##bits##_t val) \ +{ \ + *(uint##bits##_t *) buf = val; \ + return buf + sizeof(uint##bits##_t); \ +} + +pack_u(8) +pack_u(16) +pack_u(32) +pack_u(64) + #endif /* TARANTOOL_PICKLE_H_INCLUDED */