Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/external/bsd/common/include/linux Add kvasprintf to <lin...
details: https://anonhg.NetBSD.org/src/rev/d6ad6d67e762
branches: trunk
changeset: 992526:d6ad6d67e762
user: riastradh <riastradh%NetBSD.org@localhost>
date: Mon Aug 27 06:53:55 2018 +0000
description:
Add kvasprintf to <linux/kernel.h>.
diffstat:
sys/external/bsd/common/include/linux/kernel.h | 31 +++++++++++++++----------
1 files changed, 18 insertions(+), 13 deletions(-)
diffs (54 lines):
diff -r fd19457f5df5 -r d6ad6d67e762 sys/external/bsd/common/include/linux/kernel.h
--- a/sys/external/bsd/common/include/linux/kernel.h Mon Aug 27 06:53:46 2018 +0000
+++ b/sys/external/bsd/common/include/linux/kernel.h Mon Aug 27 06:53:55 2018 +0000
@@ -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 @@
return 0;
}
+static inline char *
+kvasprintf(gfp_t gfp, const char *fmt, va_list va)
+{
+ char *str;
+ int len, len1 __diagused;
+
+ len = vsnprintf(NULL, 0, fmt, 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;
- int len, len1 __diagused;
va_start(va, fmt);
- len = vsnprintf(NULL, 0, fmt, va);
+ str = kvasprintf(gfp, fmt, va);
va_end(va);
- str = kmalloc(len + 1, gfp);
- if (str == NULL)
- return NULL;
-
- va_start(va, fmt);
- len1 = vsnprintf(str, len + 1, fmt, va);
- va_end(va);
-
- KASSERT(len1 == len);
-
return str;
}
Home |
Main Index |
Thread Index |
Old Index