vector = realloc(buf->bytes, total_size);
if (vector == NULL)
return NULL;
- buf->bytes = NULL;
+
memmove(vector + count + 1, vector, strbuf_used(buf));
s = (char *)(vector + count + 1);
+ strbuf_init(buf);
for (n = 0; n < count; n++) {
vector[n] = s;
ssize_t kmod_builtin_get_modinfo(struct kmod_ctx *ctx, const char *modname,
char ***modinfo)
{
+ DECLARE_STRBUF(buf);
struct kmod_builtin_info info;
- struct strbuf buf;
ssize_t count;
if (!kmod_builtin_info_init(&info, ctx))
return -errno;
- strbuf_init(&buf);
count = get_strings(&info, modname, &buf);
if (count == 0)
if (*modinfo == NULL) {
count = -errno;
ERR(ctx, "strbuf_to_vector: %s\n", strerror(errno));
- strbuf_release(&buf);
}
}