kmod/shared/scratchbuf.h
Emil Velikov 1d0117f86a shared: mass convert with clang-format
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/118
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2024-09-24 09:59:20 -05:00

33 lines
752 B
C

#pragma once
#include <stdbool.h>
#include <stdlib.h>
#include <shared/macro.h>
/*
* Buffer abstract data type
*/
struct scratchbuf {
char *bytes;
size_t size;
bool need_free;
};
void scratchbuf_init(struct scratchbuf *buf, char *stackbuf, size_t size);
int scratchbuf_alloc(struct scratchbuf *buf, size_t sz);
void scratchbuf_release(struct scratchbuf *buf);
/* Return a C string */
static inline char *scratchbuf_str(struct scratchbuf *buf)
{
return buf->bytes;
}
#define SCRATCHBUF_INITIALIZER(buf_) \
{ \
.bytes = buf_, \
.size = sizeof(buf_) + _array_size_chk(buf_), \
.need_free = false, \
}