-extern string_t hex_encode(const uint8_t *bin, int binsize);
- /* Convert a byte array to hex, returning the result in a freshly allocated
- * string. */
+static inline int hex_encode_size(int binsize) { return binsize*2 + 1; }
+extern void hex_encode(const uint8_t *bin, int binsize, char *buf);
+ /* Convert a byte array to hex into a supplied buffer. */
+extern string_t hex_encode_alloc(const uint8_t *bin, int binsize);
+ /* Returns the result in a freshly allocated string. */