Module Name:    src
Committed By:   riastradh
Date:           Mon Aug 27 06:53:55 UTC 2018

Modified Files:
        src/sys/external/bsd/common/include/linux: kernel.h

Log Message:
Add kvasprintf to <linux/kernel.h>.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/external/bsd/common/include/linux/kernel.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/common/include/linux/kernel.h
diff -u src/sys/external/bsd/common/include/linux/kernel.h:1.14 src/sys/external/bsd/common/include/linux/kernel.h:1.15
--- src/sys/external/bsd/common/include/linux/kernel.h:1.14	Mon Aug 27 06:46:55 2018
+++ src/sys/external/bsd/common/include/linux/kernel.h	Mon Aug 27 06:53:55 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: kernel.h,v 1.14 2018/08/27 06:46:55 riastradh Exp $	*/
+/*	$NetBSD: kernel.h,v 1.15 2018/08/27 06:53:55 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -180,27 +180,32 @@ kstrtol(const char *s, unsigned base, lo
 	return 0;
 }
 
-static inline char * __printflike(2,3)
-kasprintf(gfp_t gfp, const char *fmt, ...)
+static inline char *
+kvasprintf(gfp_t gfp, const char *fmt, va_list va)
 {
-	va_list va;
 	char *str;
 	int len, len1 __diagused;
 
-	va_start(va, fmt);
 	len = vsnprintf(NULL, 0, fmt, va);
-	va_end(va);
-
 	str = kmalloc(len + 1, gfp);
 	if (str == NULL)
 		return NULL;
+	len1 = vsnprintf(str, len + 1, fmt, va);
+	KASSERT(len1 == len);
+
+	return str;
+}
+
+static inline char * __printflike(2,3)
+kasprintf(gfp_t gfp, const char *fmt, ...)
+{
+	va_list va;
+	char *str;
 
 	va_start(va, fmt);
-	len1 = vsnprintf(str, len + 1, fmt, va);
+	str = kvasprintf(gfp, fmt, va);
 	va_end(va);
 
-	KASSERT(len1 == len);
-
 	return str;
 }
 

Reply via email to