git://git.camperquake.de
/
zfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add linux libspl support
[zfs.git]
/
lib
/
libzpool
/
kernel.c
diff --git
a/lib/libzpool/kernel.c
b/lib/libzpool/kernel.c
index
0559347
..
494e544
100644
(file)
--- a/
lib/libzpool/kernel.c
+++ b/
lib/libzpool/kernel.c
@@
-1107,25
+1107,27
@@
ksiddomain_rele(ksiddomain_t *ksid)
umem_free(ksid, sizeof (ksiddomain_t));
}
umem_free(ksid, sizeof (ksiddomain_t));
}
-/*
- * Do not change the length of the returned string; it must be freed
- * with strfree().
- */
char *
char *
-kmem_
asprintf(const char *fmt, ...
)
+kmem_
vasprintf(const char *fmt, va_list adx
)
{
{
- int size;
- va_list adx;
- char *buf;
+ char *buf = NULL;
+ va_list adx_copy;
- va_
start(adx, fmt
);
-
size = vsnprintf(NULL, 0, fmt, adx) + 1
;
- va_end(adx);
+ va_
copy(adx_copy, adx
);
+
VERIFY(vasprintf(&buf, fmt, adx_copy) != -1)
;
+ va_end(adx
_copy
);
- buf = kmem_alloc(size, KM_SLEEP);
+ return (buf);
+}
+
+char *
+kmem_asprintf(const char *fmt, ...)
+{
+ char *buf = NULL;
+ va_list adx;
va_start(adx, fmt);
va_start(adx, fmt);
-
size = vsnprintf(buf, size, fmt, adx
);
+
VERIFY(vasprintf(&buf, fmt, adx) != -1
);
va_end(adx);
return (buf);
va_end(adx);
return (buf);